我是VBScript的新手.有人可以帮我使用VBScript连接到SQL Server 2005(OLEDB)并更新数据库中的表.
我的服务器:sql14\qw
我的数据库:fret
用户ID:admin
Pasword:pass
表名:lookup
Jus*_*gey 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
Run Code Online (Sandbox Code Playgroud)
使用集成Windows安全性进行测试,未使用SQL登录进行测试.
小智 8
实际上简单的东西.首先,您必须定义您将使用的连接和记录集:
Set AdCn = CreateObject("ADODB.Connection")
Set AdRec = CreateObject("ADODB.Recordset")
Run Code Online (Sandbox Code Playgroud)
在那之后,它是关于连接字符串的全部内容:
connstr="Provider=SQLOLEDB.1;Data Source=" & server & ";Initial Catalog=" & database & ";user id = '" & uid & "';password='" & pwd & "'"
Run Code Online (Sandbox Code Playgroud)
该字符串由几部分组成:
Provider:您正在建立的连接类型,在本例中为SQL Server.
数据源:您要连接的服务器.
初始目录:数据库的名称.
用户ID:您的用户名.
密码:嗯,你的密码.;)
请注意,如果要使用Windows登录凭据并在本地运行脚本,则可以将以下内容替换为用户名和密码字段:
Integrated Security=SSPI
Run Code Online (Sandbox Code Playgroud)
当然,如果您在网站上使用脚本,这将无效,因此您必须明确使用用户名和密码.然后,您只需打开记录集,移交SQL查询,并将返回的数据捕获为数组.
SQL="Select @@version as name"
AdRec.Open SQL, AdCn,1,1
queryReturn=Adrec("name")
Run Code Online (Sandbox Code Playgroud)
请记住,数据是作为一个数组返回的(通常是二维的,你想要的结果实际上是在数组的第二维中!),你可能需要修剪以在结果结束时删除空格或使用像Left这样的字符串函数解析结果.就个人而言,我总是修剪()将结果分配给变量,因为我被隐藏的空白咬了几次,而不是我可以计算.