【发布时间】:2009-07-14 13:42:11
【问题描述】:
我是 VBScript 的新手。有人可以帮我使用 VBScript 连接到 SQL Server 2005 (OLEDB) 并更新数据库中的表。
我的服务器:sql14\qw
我的数据库:烦恼
用户 ID:管理员
密码:通过
表名:查找
【问题讨论】:
我是 VBScript 的新手。有人可以帮我使用 VBScript 连接到 SQL Server 2005 (OLEDB) 并更新数据库中的表。
我的服务器:sql14\qw
我的数据库:烦恼
用户 ID:管理员
密码:通过
表名:查找
【问题讨论】:
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 登录进行测试。
【讨论】:
其实很简单。首先,您必须定义要使用的连接和记录集:
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 & "'"
字符串由几部分组成:
Provider:您正在建立的连接类型,在本例中为 SQL Server。
数据源:您要连接的服务器。
初始目录:数据库的名称。
用户 ID:您的用户名。
密码:嗯,你的密码。 ;)
请注意,如果您想使用 Windows 登录凭据并在本地运行脚本,则可以将以下内容替换为用户名和密码字段:
Integrated Security=SSPI
当然,如果您在网站上使用脚本,这将不起作用,因此您必须明确使用用户名和密码。然后,确保您的连接已打开,您只需打开记录集,交出 SQL 查询,并将返回的数据捕获为数组。
SQL="Select @@version as name"
AdCn.Open connstr
AdRec.Open SQL, AdCn,1,1
queryReturn=Adrec("name")
请记住,数据是作为数组返回的(通常是二维的,您想要的结果实际上是在数组的第二维中!)并且您可能需要修剪以消除最后的空格结果或使用 Left 等字符串函数解析结果。就个人而言,我总是 Trim() 一个结果,同时将它分配给一个变量,因为我被隐藏的空白咬伤的次数比我能数的要多。
【讨论】:
AdCn.Open connstr 行被省略了。放在AdRec.Open之前