硬编码连接字符串工作,内置一个没有(VB6到SQL Server 2008 R2)

时间:2011-04-01 20:11:40

标签: vb6 connection-string sql-server-express sql-server-2008-r2

我在构建连接字符串时遇到问题,我的VB6程序可以使用它连接到SQL Server 2008 R2数据库。当我在我的程序中对连接字符串进行硬编码时,它工作正常,我可以访问数据库。这是有效的代码:

gcnTheEstimator.Open "Provider=SQLNCLI10;Server=KEVIN-PC;Database=The_Estimator", "sa", ""

然而,以下两项工作都没有:

gcnTheEstimator.ConnectionString = "Provider=SQLNCLI10;Server=KEVIN-PC;Database=The_Estimator, sa"

gcnTheEstimator.Open

(运行它给我这个错误信息:无效的授权规范)

gcnTheEstimator.ConnectionString = Chr(34) & "Provider=SQLNCLI10;Server=KEVIN-PC;Database=The_Estimator" & Chr(34) & "," & Chr(34) & "sa" & Chr(34) & "," & Chr(34) & Chr(34)

gcnTheEstimator.Open

(使用msgbox显示此连接字符串返回的连接字符串与上面显示的硬编码连接字符串完全相同。但是,运行它会给出以下错误消息:[Microsoft] [ODBC Driver Manager]数据源找不到名称,也没有指定默认驱动程序。)

我尝试了其他几种变体,但都没有。

我需要在其他两个使用SQL Server 2008 R2的位置部署我的VB6程序,所以我需要在我的程序中构建他们的连接字符串。我在这做错了什么? TIA

1 个答案:

答案 0 :(得分:2)

gcnTheEstimator.Open期待3个参数,每个参数用逗号分隔(您试图在单个字符串变量中提供所有三个参数)。这应该有效:

dim connStr as string
dim usernameStr as string
dim passwordStr as string

connStr = "Provider=SQLNCLI10;Server=KEVIN-PC;Database=The_Estimator"
usernameStr = "sa"
passwordStr = ""

gcnTheEstimator.Open connStr, usernameStr, passwordStr