【发布时间】:2010-05-14 14:18:54
【问题描述】:
我有一个旧版 VB6 应用程序,其中服务器名称、数据库名称、用户名等在 INI 文件中定义,但连接字符串的端口号(默认 1433)在应用程序中是硬编码的。它被移动到一个新的 sql server 后端,该后端运行不同的端口号。我试图避免更改和重新编译需要大量重新测试、文档等的应用程序。我尝试更改 INI 文件,以便为我放入的新服务器:SERVERNAME\INSTANCE,NEWPORTNUMBER
这有效地建立了与 Data Source = SERVERNAME\INSTANCE,NEWPORTNUMBER,1433 的连接;
当我运行应用程序时,这似乎可以正常工作,因为它连接到数据库。在我看来, ,1433 部分被忽略了。这是一个有效的假设还是会导致我在这里没有看到的一些问题?
编辑:在VB6代码中建立连接字符串的字符串方式是:
ConnectString = "Provider=MSDataShape;Trusted_Connection=Yes;Data Source=" & SERVER & ",1433;Initial Catalog=" & DATABASE & ";Data Provider=SQLOLEDB.1;Extended Properties=""Network=DBMSSOCN"""
使用从 INI 文件中提取的 SERVER 和 DATABASE 值。
【问题讨论】:
-
最终采取了哪些措施来解决这个问题?您是否强制服务器使用端口 1433?批量替换和重新编译? SQL 别名?
-
已经有一段时间了,但我记得,它似乎忽略了端口号并使用了 SERVERNAME\INSTANCE 并且工作得很好,所以我们就让它保持原样。
标签: sql-server vb6 connection-string