执行vb脚本时获取错误3709

时间:2013-07-22 07:30:56

标签: sql-server-2005 vbscript

所以我有这个代码,我试图在sql server 2005中连接到dsn。

Dim cn, cmd

set cn = createobject("ADODB.connection")
set cmd = createobject("ADODB.command")
cn.open ("dsn=LBILLBKP;UID=lbmkbkp;PWD=lbmkbkp")
cmd.activeconnection = cn

If Err.Number <> 0 Then
  ErrLog "Export Script backup Err# 1 " & Err.Description, ErrFile, fso
  MailMsg = "The " & Region & " ListBill Export process failed while taking Database backup. Check the server log files (Scrpt.log, Error.Log, ftp.log)"
  MailRtn = SendMail(MailList, MailMsg, "0", "0")  

If MailRtn <> "0" Then
  ErrLog "Export Script backup Err# 2 " & MailRtn, ErrFile, fso
End If

fso = Empty 
WScript.Quit
End If

set cmd = nothing
cn.close
set cn = nothing

但它丢了3709错误。我已经使用提到的ID检查了与数据库的连接,并且还手动检查了dsn,它应该进行数据库备份,并且已成功完成备份。我已经从数据源(ODBC)检查了具有相同ID的dsn,它工作正常。我还补充说     wscript.echo( “”) 在代码中的每个语句之后检查哪个语句没有执行,但似乎作业运行正常并且每个步骤都在执行。 请建议我应该做些什么。

1 个答案:

答案 0 :(得分:0)

我不知道为什么你的方法不起作用。 我个人使用不同的技术,这确实有效(至少对我而言)。也许你可以试试这个。你必须根据你的情况调整脚本! 不使用DSN的优点是脚本将始终有效(只要数据库服务器可以到达),而不仅仅是在已定义dsn的计算机上。

Dim strServer, strDB, strUser, strPwd, objMyConn, strSQL, objMyRecordset, x

'Declare variables
strServer = "mssql1\mssql1inst1"
strDB = "Obelix"
strUser = "myusername"
strPwd = "mypassword"
Set objMyConn = CreateObject("ADODB.Connection")
Set objMyRecordset = CreateObject("ADODB.Recordset")

'Open Connection
objMyConn.Open "Driver={SQL Server};Server=" & strServer & ";Database=" & strDB, strUser, strPwd

'Set SQL Command
strSQL = "SELECT * FROM addressformatheading"

'Open Recordset
objMyRecordset.Open strSQL, objMyConn

'Do something with the data
Do Until objMyRecordset.EOF
  For Each x In objMyRecordset.Fields
    Wscript.Echo x.name, " = ", x.value
  Next
  Wscript.Echo
  objMyRecordset.MoveNext
Loop

'Clean up
objMyRecordset.Close
objMyConn.Close
相关问题