为什么我无法连接到我的访问数据库

时间:2014-01-21 15:32:52

标签: vbscript ms-access-2010

我正在创建一个Microsoft Access 2010数据库,该数据库将成为客户端的小型网站的一部分。我用消息框调试它,我能够接受VBScript的数据(客户选择,因为他们愿意更新/维护网站内容),我能够调用发送数据的子数据库,但我无法通过与数据库的连接。这就是我所拥有的:

Sub InsertIntoDatabase(FullName)

    Dim strSQL, strConnect, strSQL2, i

    Dim conn

    Set conn = CreateObject("ADODB.Connection")

    strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\userID\Desktop\My Stuff\MyData.accdb"

    ' Cannot get past this point. It's like I cannot connect to the path above.
    conn.Open strConnect

    strSQL = "INSERT INTO SurveyData (FullName, Address, City, State, Zip, Phone, Email, Pentium, PentiumMMX, Macintosh, Series486, Series386, Win2000, WinNT, WinXP, WinVista, Win7, Unix, Shopping"

    strSQL2 = ") VALUES ('" & FullName & "', '" & Address & "', '" & City & "', '" & State & "', '" & Zip & "', '" & Phone & "', '" & Email & "', '" & Pent & "', '" & PentMMX & "', '" & Mac & "', '" & PC486 & "', '" & PC386 & "', '" & Win2000 & "', '" & WinNT & "', '" & WinXP & "', '" & WinVista & "', '" & Win7 & "', '" & Unix & "', '" & Shopping & "'"

    ' End the query string
    strSQL = strSQL & strSQL2 & ")"

    ' Send the query to the database
    conn.Execute strSQL

    ' Close the connection to the database
    conn.Close
    strSQL = ""

end sub

我有另一个使用类似脚本的网站。谁能看到我失踪的东西?

2 个答案:

答案 0 :(得分:2)

Jet.OLEDB.4.0提供程序适用于MDB格式数据库文件。对于较新的ACCDB格式( MyData.accdb ),您需要ACE提供程序。

对于Access 2007,只有32位版本的ACE提供程序。但从Access 2010开始,有32和64位版本。您需要一个与运行VBScript的位模式匹配的那个。

答案 1 :(得分:0)

尝试更改连接字符串以使用ODBC。每Connection Strings

Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\mydatabase.accdb;
Uid=Admin;Pwd=;