2009-07-14 2 views
7

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

Мой сервер: sql14 \ дш
Моя база данных: лада
ID Пользователь: администратор
Pasword: передать
имя таблицы: поиск

ответ

11
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.

7

легкий материал, на самом деле. Во-первых, вы должны определить связь и записей, которые вы будете использовать:

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.

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

  • Начальный каталог: название базы данных.

  • ID пользователя: ваше имя пользователя.

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

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

Integrated Security=SSPI 

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

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

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

+0

спасибо. Где вы положили connstr в своем примере? – Pete

Смежные вопросы