在连接字符串中使用 VBScript 参数

Using VBScript parameters in a connection string

我正在使用 vbs 脚本查询 SQL 服务器。

并且在连接字符串中,我正在尝试传输以下参数:服务器名称(PKNSQLEXP07\SQLINST7)和端口号 (2890).

问题是,我知道 VBScript 中的参数需要在连接字符串之外,但我不确定如何实现。

这是我的连接字符串,没有参数:

strConnection = "Driver={SQL Server};Server=PKNSQLEXP07\SQLINST7,2890;Database=master;Trusted_Connection=TRUE"

这是有参数的:

    ConnectionString = Wscript.Arguments(0)
TcpPort = Wscript.Arguments(1)

strConnection = "Driver={SQL Server};Database=master;Trusted_Connection=TRUE;Server=" & ConnectionString &,& TcpPort
objCN.Open strConnection

参数(ConnectionStringTcpPort) 之间应该有一个逗号。

但到目前为止,我没有运气,我当前的连接字符串带有参数。

您正在将字符串连接在一起以形成一个大字符串。你有两种类型的字符串。

  1. 您不想引用的变量中的字符串,否则它们将被视为...
  2. String Literals,就像 "Hi, I'm a string" 一样只是引号中的字符串。

您的尝试非常接近,但您的逗号是字符串文字,这意味着该内容需要用引号引起来:

strConnection = "Driver={SQL Server};Database=master;Trusted_Connection=TRUE;Server=" & ConnectionString & "," & TcpPort

作为调试步骤,您可以使用 MsgBox strConnection 查看从该串联派生的字符串,然后再将其发送到数据库。这应该会让您深入了解该行中发生的事情。