Использование параметров VBScript в строке подключения - PullRequest
0 голосов
/ 14 января 2019

Я использую скрипт 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

Параметры ( ConnectionString и TcpPort ) должны иметь знак запятой между ними.

Но мне пока не повезло с моей текущей строкой соединения с параметрами.

1 Ответ

0 голосов
/ 14 января 2019

Вы соединяете вместе строки, чтобы сделать большую строку. У вас есть два типа строк.

  1. Строки в переменных, которые вы НЕ хотите заключать в кавычки, иначе они будут обрабатываться как ...
  2. Строковые литералы, которые являются просто строками в кавычках, таких как "Hi, I'm a string".

Вы очень близки с вашей попыткой, но ваша запятая является строковым литералом, что означает, что эта вещь должна быть в кавычках:

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

В качестве шага отладки вы можете использовать MsgBox strConnection, чтобы увидеть строку, полученную из этой конкатенации, перед запуском ее в базу данных. Это должно дать вам глубокое понимание того, что происходит в этой строке.

...