远程连接到Access数据库

问题描述:

我试图连接到我与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

您无法连接到驻留在服务器上,除非您使用完整的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兼容服务器。