我正在尝试连接到VBScript中的MS Access数据库链接表。它可以在一个连接上第一次正常连接,但如果我关闭该连接并在同一个脚本中打开一个新连接,则会给我一个错误。
test.vbs(13, 1) Microsoft Office Access Database Engine:
ODBC--connection to '{Oracle in OraClient10g_home1}DB_NAME' failed.
这是一些触发错误的代码。 TABLE_1是test.mdb文件中的ODBC链接表。
Dim cnn, rs
Set cnn = CreateObject("ADODB.Connection")
cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data source=test.mdb"
Set rs = cnn.Execute("SELECT * FROM [TABLE_1]")
rs.Close
cnn.Close
Set cnn = CreateObject("ADODB.Connection")
cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data source=test.mdb"
Set rs = cnn.Execute("SELECT * FROM [TABLE_1]") '' crashes here
rs.Close
cnn.Close
如果我尝试访问普通的Access表,则不会发生此错误。现在我认为这是Oracle ODBC驱动程序中的一个错误。
答案 0 :(得分:0)
我刚刚尝试了一些我已经链接到SQL服务器的表,它工作得很好(对不起,我没有oracle DB来测试)但是我有一些东西供你试用。
首先在你的DIM线上你没有指定cnn和rs的类型。这通常是不好的做法,所以把它改成像这样的东西
Dim cnn as ADODB.Connection
Dim rs as ADODB.Recordset
其次你需要关闭语句之间的连接吗?最好保持它开放并重新使用它。同时作为习惯的力量,我也倾向于关闭我打开的任何物体,并将它们设置为无。即
Set cnn=nothing
如果您必须关闭它并重新打开它,请尝试将其设置为空,看看是否有帮助