Visual Basic 6 中的 ADODB 连接字符串

Posted

技术标签:

【中文标题】Visual Basic 6 中的 ADODB 连接字符串【英文标题】:ADODB Connection string in Visual Basic 6 【发布时间】:2013-06-18 18:52:28 【问题描述】:

我搬到了一台新的 Windows 7 PC,现在我需要在我的连接字符串中指定“Network Library=DBMSSOCN”。在我的旧 Windows 7 PC 上,我的连接字符串是 Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=;Data Source=;User ID=;Password=" 并且工作得很好。但是,在我的新计算机上,如果我运行该连接字符串,我会收到错误消息“[DBNMPNTW]Connection broken。”我知道这是命名管道的 DLL。出于某种原因,我的电脑默认使用命名管道 dll 而不是 tcp。

我有很多旧应用程序,我不想更改和重新编译所有内容才能在我的电脑上运行。如何将我的系统更改为默认为 tcp?两台电脑的唯一区别是:

    旧 - Windows 7 x86 新 - Windows 7 x64 旧 - SQL Server 2008R2 新 - SQL Server 2012

【问题讨论】:

【参考方案1】:

试试:

点击开始 -> 运行 键入cliconfg 点击确定

命名管道的优先级是否高于 TCP/IP?

或者,您可以禁用 SQL Server 的命名管道。为此:

点击开始 -> 程序 -> Microsoft SQL Server -> 配置工具 -> SQL Server 配置管理器 展开 SQL Server 网络配置 禁用命名管道。

【讨论】:

我运行了 cliconfig,命名管道被禁用,唯一启用的协议是 TCP/IP。 SQL Server 上也已禁用命名管道。奇怪的是,它似乎在我的本地 SQL Server 上运行良好,但在任何远程服务器上都运行良好。远程服务器也禁用了命名管道。

以上是关于Visual Basic 6 中的 ADODB 连接字符串的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Visual Basic 6 组合框与 Microsoft Access 2007 表中的字段链接

连接到 AD 的奇怪错误 - visual basic

您如何处理源代码管理中的 Visual Basic 6.0 frm 和 frx 文件?

如何在 Visual Basic 6 ListView 上进行多列排序?

Visual Basic 6 中的报告生成:生成报告时,我只在报告的记录中看到第一个学生的姓名

在Visual Basic 6中,Environ()函数为CLIENTNAME返回null值