VB6和Sql server 2016 Express连接字符串

时间:2017-05-17 20:11:00

标签: vb6 sql-server-2016-express

在我们的一个旧的vb6 app连接字符串中如下:

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。

1 个答案:

答案 0 :(得分:2)

你的问题是

  

集成安全性= SSPI

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

MSDN documentation

  

如果为false,则在连接中指定用户ID和密码。什么时候   是的,当前的Windows帐户凭据用于   认证。识别的值是true,false,yes,no和sspi   (强烈推荐),这相当于真。 如果用户ID和   指定密码,并将Integrated Security设置为true,即   用户ID和密码将被忽略,集成安全性将被忽略   使用