2014-01-21 271 views
2

我正在創建一個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 

我有另一個網站,使用一個類似的腳本,那個作品。任何人都可以看到我失蹤的東西?

+0

您已將帳戶主目錄中的數據庫文件。該網站(以及擴展名爲vbscript)運行的帳戶極不可能訪問該目錄。將數據庫移動到inet_pub的某個地方 –

+0

@Marc B - 兩個數據庫都位於我的主目錄中。另一個數據庫是一個「.mdb」數據庫,其中新的數據庫是「.accdb」。這可能是問題嗎? – Lou

+0

mdb是舊式訪問,accdb是在辦公室'07 –

回答

2

Jet.OLEDB.4.0提供適用於MDB格式的數據庫文件。對於較新的ACCDB格式(MyData.accdb),您需要ACE提供程序。

對於Access 2007,只有ACE提供程序的32位版本。但從Access 2010開始,有單獨的32位和64位版本。您需要與您的VBScript運行的位模式相匹配的那個。

+0

我沒有爲這個客戶端使用ASP。他們是互聯網世界的新手,並且已經爲我發送了他們想使用的所見即所得模板的簡單途徑。我只需創建表單,腳本並添加數據庫。 – Lou

+0

對不起,我誤解了。當連接到db失敗時,他們從VBScript中獲得什麼錯誤信息? – HansUp

+0

我把'Jet.OLEDB.4'改成了'ACE.OLEDB.12',現在它完美的工作!謝謝。 – Lou

0

嘗試更改連接字符串以使用ODBC。每Connection Strings

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

引入的新XML格式我沒有用戶名或密碼的客戶端,因爲,儘管我建議他們去一個,他們想保持簡單。我可以不用嗎? – Lou

+0

你可以試試Uid =; Pwd =;自從我通過OLE DB或ODBC連接到Access以來,這已經有一段時間了,但這應該起作用。 – Andrew

相關問題