【问题标题】:VB6 and Sql server 2016 Express connection stringVB6 和 Sql server 2016 Express 连接字符串
【发布时间】:2017-05-17 20:10:59
【问题描述】:

在我们的一个旧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。

【问题讨论】:

    标签: vb6 sql-server-2016-express


    【解决方案1】:

    你的问题是

    集成安全=SSPI

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

    MSDN documentation:

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

    【讨论】:

    • ... 这意味着我的域帐户没有访问 sql server db 的权限。感谢您的提示。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-27
    相关资源
    最近更新 更多