【发布时间】:2018-03-06 17:14:55
【问题描述】:
更新:感谢这里的一些大力帮助,此问题已得到解决。如果您遇到类似问题,请执行以下操作:
- 在运行前启用所有异常
- 找出您在尝试连接时遇到的确切错误
- 确保 SQL 端的所有用户都有一个分配给该特定数据库登录名的用户
我有一个非常好的程序,我已经准备好开始推出测试了。问题是,当我编写所有这些代码时,我只是使用了集成安全性,它使用我的 Windows 登录名连接到 SQL Server。这很好用,因为我是整个服务器(包括相关数据库)的系统管理员。
现在我已准备好将其推送给其他用户,我需要更改代码以将我的登录名用于所有用户(硬编码到连接字符串)或使用专门用于该数据库的新登录名。
我使用了以下连接字符串,但它不起作用!我还将服务器添加到服务器资源管理器的数据连接部分,但我想我不知道如何告诉程序在我的代码中使用该连接。
我在下面的代码中混淆了密码,但它已写在我的代码中。运行时没有错误或任何东西 - 它只是不连接或提取数据。
想法?谢谢!
Dim strSQLConn As String = ("Server=Hertz1455;Database=AbsenceApplication;User ID=hac0421;Password=********")
更新 - hertz1455 是服务器名称,没有我需要使用的端口。下面是程序启动时的其余代码。我还评论了一些我遇到的错误的答案。
Dim strSQLConn As String = "Fleet_PTO.My.MySettings.AbsenceApplicationConnectionString"
Dim strQuery As String
Dim sqlSQLCon As SqlConnection
sqlSQLCon = New SqlConnection(strSQLConn)
Dim cmd As SqlCommand = New SqlCommand("SELECT person FROM tblSupervisor", sqlSQLCon)
sqlSQLCon.Open()
Dim myDA As SqlDataAdapter = New SqlDataAdapter(cmd)
Dim myDataTable As DataTable = New DataTable
myDA.Fill(myDataTable)
sqlSQLCon.Close()
当我将strSqlConn 更改为下面的字符串时,一切正常。
Dim strSQLConn As String = ("Data Source=Hertz1455;Initial Catalog=AbsenceApplication;Integrated Security=True")
【问题讨论】:
-
您能否展示一个您用来尝试建立和使用基于此字符串的连接的代码示例?我很难相信没有错误发生。如果您的连接字符串由于某种原因无效,那么
SqlConnection::Open()应该抛出。它不只是默默地决定不连接。 msdn.microsoft.com/en-us/library/… -
Sql Server 是否设置为允许混合身份验证?
-
乔尔——这是个好问题。我会检查。编辑:是的,该服务器已打开混合模式。我能够使用我想要的用户名和密码并登录服务器并通过 SSMS 查询
标签: sql-server vb.net connection-string