2017-05-17 21 views
0

在我们的旧VB6应用程序连接字符串的一个如下:VB6和SQL Server 2016 Express接口字符串

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;" 

是否被忽略?

刚一提的是应用程序连接到SQL Server 2016快速的Windows Server 2016标准在本地网络。

回答

2

你的问题是与

集成安全性= SSPI

应该因为你不使用当前Windows用户身份验证,但一个标准的SQL用户设置为false(或完全取消)密码登录。

缺货的MSDN documentation

当假的,用户ID和密码中的连接指定。当 为真时,当前的Windows帐户凭证用于 验证。识别值为真,假,是,否,和sspi (强烈推荐),这相当于true。 如果指定了用户ID和 密码并且将集成安全性设置为true,则 用户标识和密码将被忽略并且将使用集成安全性 。

+0

......这意味着我的域帐户没有权限来访问SQL Server数据库。谢谢你的提示。 – murga

相关问题