1

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

该代码类似于我遵循的教程。教程(它是西班牙语,但代码在本地而不是远程工作)

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
4

1 回答 1

7

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

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

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

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

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

因此,我建议您使用真正的数据库服务器。无论如何,我几乎没有(如果有的话)尝试使用位于 Web 服务器上的 mdb 文件。

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

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

文件是文件是文件。马是马是马。所以你说的是一个简单的 Jane windows 文件,它位于该服务器上的一个文件夹中。

如果您打算使用 Windows 程序(例如 PowerPoint 或在本例中为 MS Access)打开和修改该文件,那么您需要使用标准 Windows 网络打开该文件,而不是某种基于 Web 的连接系统。

因此,没有连接字符串可以打开平面 Jane Windows 文件,无论是您最喜欢的 Paint 程序还是只是 Access 文件。

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

于 2012-07-09T06:32:38.923 回答