远程连接到Access数据库

时间:2012-07-09 01:54:29

标签: asp.net vb.net ms-access

我正在尝试连接到我与godaddy托管的访问数据库。我有ASP 3.5,Php 5.2和IIS 7.我已经在我的IIS设置中为vb脚本设置了一个虚拟目录。我正在使用Microsoft Visual Web Developer 2008.如果他们看到我的连接字符串到远程数据库有问题,有人可以告诉我吗?我真的需要使用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

1 个答案:

答案 0 :(得分:6)

除非使用完整的UNC路径名,否则无法连接到驻留在服务器上的MS Access数据库。这意味着NON http://技术

http:是一种GALACTIC与Windows网络系统不同的技术。要正确打开Excel文件,Word文件或本例中的Access文件,您不能使用ftp,或类似http:

您需要使用Windows网络。这意味着您需要设置VPN并且还需要运行WINDOWS网络(不是Linux,而不是该服务器上的Apple OS)。在Linux的情况下,您可能希望并“要求”安装SAMBA以获得标准的Windows网络系统。 (因此,对于Windows计算机在Linux计算机上打开文件,您需要安装“Windows兼容”网络系统。

因此,连接到标准mdb或accDB文件的连接字符串是FULL QUALIFIED窗口路径名。您提供的路径名必须是标准的Windows路径名,并且必须基于标准的Windows网络系统。因此,如果您设置了VPN,那么您可以通过Windows网络浏览该文件夹中的文件(而不是http而不是FTP),那么标准的Windows锁定和打开机械化将起作用,并且需要打开标准的Windows文件坐在夹。因此,在所有情况下仍然需要本地硬盘驱动器上的文件夹或从网上邻居映射的文件夹。如上所述,这里的网络系统必须是Windows网络。我不认为GoDaddy有基本计划能够使用VPN和直接文件使用以及操作服务器上的基本文件(你必须使用ftp将文件放在他们的服务器上 - 而不是共享的Windows网络文件夹)。更重要的是,在mdb / accDB文件的情况下直接使用文件必须是Windows网络。

我已经读过GoDaddy允许外部连接到他们的数据库服务器选项。所以MySql或者可能的SQL服务器用于windows包。但是,这里需要注意的是,默认情况下,MOST计划不允许外部Internet连接到其内部数据库服务器。事实上,在他们允许这种连接的任何计划中,他们将托管网站“移动”到另一组服务器,这样,如果至少通过允许互联网的狂野世界“连接”到这些内部数据库服务器而受到损害,那么并非所有服务器都会受到此类安全漏洞的影响或受到影响。

因此我建议您使用真正的数据库服务器。我看到很少(如果有的话)尝试使用坐在Web服务器上的mdb文件。

因此SQL服务器或MySql可以接受套接字连接,并且可以通过任何支持TC / IP的网络进行连接。但是,MS Access“文件”不接受此类连接。所以不允许使用http或ftp。请记住,“mdb”或“accDB”文件只是位于硬盘驱动器上的文件。

因此,当您使用Excel,Power-point,AUTO CAD或简单的Access文件时,则无法进行此类“套接字”连接。因此,您不能再使用连接字符串到Power-Point,然后就可以使用一个简单的Windows文件,该文件位于Web服务器硬盘驱动器上,恰好具有mdb或accDB扩展名。

文件是文件是文件。马是马是马。所以你在谈论位于该服务器上的文件夹上的简单的Jane Windows文件。

如果要使用Windows程序(例如power point或本例MS Access)打开并修改该文件,则需要使用标准的Windows网络打开该文件,而不是某种类型的基于Web的连接系统。

所以没有连接字符串可以打开平面jane windows文件,无论是你最喜欢的绘图程序还是只是一个Access文件。

当然,如果您正在运行的软件正在运行服务器端并且“JET”引擎已正确安装在该服务器上(并且必须是),那么您可以编写一些vb.net或任何类型的代码标准的oleDB连接字符串。因此,对于服务器端代码,您最常可以使用连接字符串,但如果您看起来CLOSE,您将始终使用完全限定的Windows路径名称,并且如上所述,您必须运行安装了JET数据库引擎的Windows兼容服务器。