在我们的一个旧的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。
答案 0 :(得分:2)
你的问题是
集成安全性= SSPI
应将其设置为false(或完全删除),因为您没有使用当前的Windows用户身份验证,而是使用标准的SQL用户密码登录。
如果为false,则在连接中指定用户ID和密码。什么时候 是的,当前的Windows帐户凭据用于 认证。识别的值是true,false,yes,no和sspi (强烈推荐),这相当于真。 如果用户ID和 指定密码,并将Integrated Security设置为true,即 用户ID和密码将被忽略,集成安全性将被忽略 使用