VBScript для подключения к SQL Server 2005 и обновления таблицы - PullRequest
7 голосов
/ 14 июля 2009

Я новичок в VBScript. Может кто-нибудь, пожалуйста, помогите мне подключиться к SQL Server 2005 (OLEDB) с помощью VBScript и обновить таблицу в базе данных.

Мой сервер: sql14 \ qw
Моя база данных: лад
Идентификатор пользователя: admin
Pasword: пас
Название таблицы: lookup

Ответы [ 2 ]

11 голосов
/ 14 июля 2009
Const DB_CONNECT_STRING = "Provider=SQLOLEDB.1;Data Source=sql14\qw;Initial Catalog=fret;user id ='admin';password='pass'"
Set myConn = CreateObject("ADODB.Connection")
Set myCommand = CreateObject("ADODB.Command" )
myConn.Open DB_CONNECT_STRING
Set myCommand.ActiveConnection = myConn
myCommand.CommandText = "UPDATE lookup SET Col1 = 'Hello'"
myCommand.Execute
myConn.Close

Протестировано с использованием встроенной безопасности Windows, не тестировалось с SQL Login.

8 голосов
/ 14 июля 2009

Легкие вещи, на самом деле. Сначала вам нужно определить соединение и набор записей, которые вы будете использовать:

Set AdCn = CreateObject("ADODB.Connection")
Set AdRec = CreateObject("ADODB.Recordset")

После этого все о строке подключения:

connstr="Provider=SQLOLEDB.1;Data Source=" & server & ";Initial Catalog=" & database & ";user id = '" & uid & "';password='" & pwd & "'"

Строка состоит из нескольких частей:

  • Поставщик: тип устанавливаемого соединения, в данном случае SQL Server.

  • Источник данных: сервер, к которому вы подключаетесь.

  • Исходный каталог: имя базы данных.

  • идентификатор пользователя: ваше имя пользователя.

  • пароль: ваш пароль. ;)

Обратите внимание: если вы хотите использовать свои учетные данные для входа в Windows и запускаете скрипт локально, вы можете заменить следующие поля для имени пользователя и пароля:

Integrated Security=SSPI

Конечно, это не сработает, если вы используете свой скрипт на веб-сайте, поэтому вам придется явно использовать имя пользователя и пароль. Затем вы просто открываете набор записей, передаете SQL-запрос и записываете возвращенные данные в виде массива.

SQL="Select @@version as name"
AdRec.Open SQL, AdCn,1,1
queryReturn=Adrec("name")

Просто помните, что данные возвращаются в виде массива (часто двумерного, где результаты, которые вы хотите, на самом деле находятся во втором измерении массива!) И что вам может понадобиться либо Trim, чтобы убрать пробелы в конце результатов или проанализируйте результаты с помощью строковых функций, таких как Left. Лично я всегда обрезаю результат (), присваивая его переменной, так как я был укушен скрытыми пробелами больше раз, чем могу сосчитать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...