VB6和Sql server 2016 Express连接字符串

VB6和Sql server 2016 Express连接字符串,vb6,sql-server-2016-express,Vb6,Sql Server 2016 Express,在一个旧的vb6应用程序中,连接字符串如下所示: nk = "Provider=SQLOLEDB;" nk = nk + "Integrated Security=SSPI;" nk = nk + "Persist Security Info=False;" nk = nk + "User ID=sa;" nk = nk + "Password=******;" nk = nk + "Initial Catalog=" & db & ";" nk = nk + "Data Sou

在一个旧的vb6应用程序中,连接字符串如下所示:

nk = "Provider=SQLOLEDB;"
nk = nk + "Integrated Security=SSPI;"
nk = nk + "Persist Security Info=False;"
nk = nk + "User ID=sa;"
nk = nk + "Password=******;"
nk = nk + "Initial Catalog=" & db & ";"
nk = nk + "Data Source=" & hn
kon.ConnectionString = nk
kon.Open
如果我尝试连接这些选项,它将不起作用,因此我对这两个选项感兴趣:

nk = nk + "Integrated Security=SSPI;"
nk = nk + "Persist Security Info=False;"
没有被忽视吗

请注意,应用程序正在通过本地网络连接到Windows Server 2016 Standard上的Sql Server 2016 Express。

您的问题在于

集成安全性=SSPI

它应该设置为false(或完全删除),因为您使用的不是当前的Windows用户身份验证,而是标准的SQL用户密码登录

其中:

如果为false,则在连接中指定用户ID和密码。什么时候 则当前Windows帐户凭据用于 认证。识别的值为真、假、是、否和sspi (强烈建议),这相当于true如果用户ID和 如果指定了密码,并且集成安全性设置为true,则 用户ID和密码将被忽略,集成安全性将被忽略 用过

你的问题在于

集成安全性=SSPI

它应该设置为false(或完全删除),因为您使用的不是当前的Windows用户身份验证,而是标准的SQL用户密码登录

其中:

如果为false,则在连接中指定用户ID和密码。什么时候 则当前Windows帐户凭据用于 认证。识别的值为真、假、是、否和sspi (强烈建议),这相当于true如果用户ID和 如果指定了密码,并且集成安全性设置为true,则 用户ID和密码将被忽略,集成安全性将被忽略 用过


... 这意味着我的域帐户没有访问sql server db的权限。谢谢你的提示。。。。这意味着我的域帐户没有访问sql server db的权限。谢谢你的提示。