2012-07-09 186 views
0

我試圖連接到我與godaddy託管的訪問數據庫。我有ASP 3.5,PHP 5.2和IIS 7.我已經離開並在我的IIS設置中爲vb腳本設置了一個虛擬目錄。我正在使用Microsoft Visual Web Developer 2008.任何人都可以讓我知道他們是否看到我的連接字符串與遠程數據庫有問題?我真的需要爲此使用Access。謝謝遠程連接到Access數據庫

該代碼與我所遵循的教程類似。 Tutorial(它是西班牙語,但代碼工作在本地沒有遠程)

Protected Sub Login1_Authenticate(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.AuthenticateEventArgs) Handles Login1.Authenticate 
     Dim objConn As Object 
     Dim objRecords As Object 
     Dim strConn As String 
     Dim strQuery As String 

     objConn = Server.CreateObject("ADODB.Connection") 
     strConn = "Provider=MS Remote;" & "Remote Server=http://(IP Address here);" & "Remote Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.MapPath("/logs/App_Data/users.mdb") & "Uid=admin" & "Pwd=" 
     objConn.Open(strConn) 

     strQuery = "SELECT * FROM tbl_usuarios" 
     strQuery = strQuery + " Where str_usuario_ide='" + Login1.UserName + "'" 
     strQuery = strQuery + " And str_usuario_cve='" + Login1.Password + "'" 

     objRecords = objConn.Execute(strQuery) 
     If (Not objRecords.BOF) Then 
      e.Authenticated = True 
     Else 
      e.Authenticated = False 
     End If 

     objRecords.Close() 
     objConn.Close() 
     objRecords = Nothing 
     objConn = Nothing 
    End Sub 
End Class 
+0

PHP和ASP的混合?您確定Access已經在GoDaddy服務器上可用了嗎?另外,你爲什麼不把你的腳本放在GoDaddy上? – Raptor 2012-07-09 02:15:13

+0

那麼服務器只是安裝了asp和php。我認爲這將有助於引用。該腳本託管在Godaddy的服務器上,當我嘗試連接到它時,它給我提供了'/ logs'Application.'信息中的服務器錯誤。 – 2012-07-09 02:20:36

+0

我認爲你訂閱的是共享主機方案而不是4GH系列計劃,對不對?因爲4GH計劃沒有MS Access服務... – Raptor 2012-07-09 02:27:20

回答

5

您無法連接到駐留在服務器上,除非您使用完整的UNC路徑名的MS Access數據庫。這意味着一個NON http://技術

http:是一種GALACTIC不同類型的技術,然後是Windows網絡系統。要正確打開Excel文件,Word文件或在這種情況下訪問文件,您不能使用FTP或類似的東西http:

您需要使用Windows網絡。這意味着你需要設置一個VPN,並且你需要運行WINDOWS網絡(不是Linux,而不是該服務器上的蘋果操作系統)。在Linux的情況下,您可能希望並「需要」已安裝SAMBA以獲得標準的Windows網絡系統。 (因此,對於Windows計算機來說,要在Linux計算機上打開文件,需要安裝「Windows兼容」網絡系統。

因此,連接到標準mdb或accDB文件的連接字符串是FULL QUALIFIED Windows路徑名。你提供的路徑名必須是一個標準的Windows路徑名,並且必須基於一個標準的Windows網絡系統,所以如果你設置了一個VPN然後你可以通過windows網絡瀏覽文件夾中的文件(不是http而不是FTP) ,那麼標準的窗口鎖定和打開機械化將起作用,並且打開位於文件夾中的標準窗口文件是必需的。因此,您在所有情況下仍然需要本地硬盤上的文件夾或從網上鄰居映射的文件夾。注意到,這裏的網絡系統必須是windows網絡,我不相信GoDaddy有基本的計劃能夠支持VPN以及直接文件使用和操作服務器上的基本文件(您必須使用ftp將文件放置在其服務器上 - 而不是共享的Windows網絡文件夾)。在mdb/accDB文件的情況下,更重要的這種直接文件使用必須是Windows網絡。

我讀過GoDaddy確實允許外部連接到他們的數據庫服務器選項。所以MySql或可能的SQL服務器用於windows包。然而,這裏需要注意的是,默認情況下,對於MOST計劃,他們不允許野外互聯網外部連接到他們的內部數據庫服務器。實際上,在任何允許這種連接的計劃中,他們將託管的網站「移動」到另一組服務器,以便至少如果通過允許互聯網的野生世界「連接」到這些內部數據庫服務器而受到威脅,則不是所有的服務器都會受到這種安全漏洞的影響或破壞

因此,我建議你使用真正的數據庫服務器,我看到很少(如果有的話)理由嘗試使用坐在web服務器上的mdb文件

因此SQL服務器或MySql可以接受套接字連接,並且可以在任何支持TC/IP的網絡上執行此操作,但MS Access「文件」不接受這種連接,因此不允許使用http或ftp。一個「mdb」或「accDB」文件只是一個坐在硬盤上的文件。

因此,當您使用Excel,Power-point,AUTO CAD或簡單的Access文件時,則不可能有這樣的「套接字」連接。因此,您不能再使用Power-Point的連接字符串,那麼您可以訪問位於Web服務器硬盤驅動器上的簡單Windows文件,該文件恰好具有mdb或accDB擴展名。

一個文件是一個文件是一個文件。馬是馬是馬。所以你說的是一個簡單的簡單Windows文件,坐在該服務器上的一個文件夾中。

如果你打算使用Windows程序(如電源插座或在這種情況下MS Access)來打開並修改該文件,那麼你需要使用標準的Windows網絡打開該文件,而不是某些基於Web的類型連接系統。

所以沒有連接字符串是可能的打開飛機jane窗口文件,無論是你最喜歡的油漆程序或只是一個Access文件。

當然,如果您正在建立的軟件正在運行服務器端,並且該服務器上正確安裝了「JET」引擎(並且它必須是),那麼您可以編寫一些vb.net或任何類型的代碼一個標準的oleDB連接字符串。因此,對於服務器端代碼,您大多數可以使用連接字符串,但如果您看起來CLOSE,則始終會使用完整限定的Windows路徑名稱,並且您必須運行安裝了JET數據庫引擎的Windows兼容服務器。