Vbscript 为什么可以';我不能连接到access数据库吗

Vbscript 为什么可以';我不能连接到access数据库吗,vbscript,ms-access-2010,Vbscript,Ms Access 2010,我正在创建一个MicrosoftAccess2010数据库,它将成为一个客户端小型网站的一部分。我已经用消息框对其进行了调试,我能够用VBScript接受数据(客户选择,因为他们愿意更新/维护网站内容),我能够调用将数据发送到数据库的sub,但我无法通过与数据库的连接。以下是我所拥有的: Sub InsertIntoDatabase(FullName) Dim strSQL, strConnect, strSQL2, i Dim conn Set conn = Cr

我正在创建一个MicrosoftAccess2010数据库,它将成为一个客户端小型网站的一部分。我已经用消息框对其进行了调试,我能够用VBScript接受数据(客户选择,因为他们愿意更新/维护网站内容),我能够调用将数据发送到数据库的sub,但我无法通过与数据库的连接。以下是我所拥有的:

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

我有另一个网站,它使用了一个类似的脚本,而且这个脚本很有效。有人能看到我缺少的东西吗?

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


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


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

您的帐户主目录中已经有了DB文件。网站(以及vbscript的扩展)将运行的帐户不太可能访问该目录。将数据库移动到inet中的某个位置_pub@Marc两个数据库都在我的主目录中。另一个数据库是“.mdb”数据库,其中新数据库是“.accdb”。这可能是问题所在吗?mdb是老式的访问方式,accdb是office'07引入的新xml格式。我没有客户端的用户名或密码,因为正如我建议他们使用的那样,他们希望保持简单。我可以不用吗?你可以试试Uid=;Pwd=;从我通过OLE DB或ODBC连接到Access已经有一段时间了,但这应该可以工作。我没有为此客户端使用ASP。他们是互联网世界的新手,并且已经采取简单的方式向我发送了他们想要使用的WYSIWYG模板。我只需要创建表单、脚本和添加数据库。对不起,我误解了。当连接到db失败时,他们现在从您的VBScript中得到了什么错误消息?我将
Jet.OLEDB.4
更改为
ACE.OLEDB.12
,现在它工作正常!!非常感谢。
Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\mydatabase.accdb;
Uid=Admin;Pwd=;