1

Godaddy でホストしているアクセス データベースに接続しようとしています。ASP 3.5、Php 5.2、および IIS 7 を使用しています。vb スクリプト用に IIS 設定で仮想ディレクトリをセットアップしました。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 の場合、標準の Windows ネットワーキング システムを取得するために、SAMBA がインストールされていることを期待し、「要求」することができます。(そのため、Windows コンピューターが Linux コンピューターでファイルを開くには、「Windows 互換」ネットワーク システムがインストールされている必要があります。

したがって、標準の mdb または accDB ファイルに接続するための接続文字列は、FULL QUALIFIED Windows パス名です。指定するパス名は、標準の Windows パス名である必要があり、標準の Windows ネットワーク システムに基づいている必要があります。したがって、VPN をセットアップし、Windows ネットワーク (http や FTP ではなく) を介してそのフォルダー内のファイルを参照できる場合、標準の Windows のロックおよび開くメカニズムが機能し、標準の Windows ファイルを開くために必要です。フォルダ。したがって、どのような場合でも、ローカル ハード ドライブ上にフォルダが必要になるか、Network Neighborhood からマップされたフォルダが必要になります。前述のとおり、ここで使用するネットワーク システムは Windows ネットワークでなければなりません。GoDaddy の基本プランに、VPN を使用したり、ファイルを直接使用したり、サーバーにある基本ファイルを操作したりする機能があるとは思えません (ファイルをサーバーに配置するには、共有 Windows ネットワーク フォルダーではなく、ftp を使用する必要があります)。さらに重要なことは、mdb/accDB ファイルの場合、そのようなファイルを直接使用するには、Windows ネットワーキングである必要があります。

GoDaddy がデータベース サーバー オプションへの外部接続を許可していることを読みました。したがって、MySql または可能な SQLServer for Windows パッケージです。ただし、ここでの注意点は、MOST プランのデフォルトでは、ワイルド インターネットから内部データベース サーバーへの外部接続が許可されていないことです。実際、そのような接続を許可する計画では、ホストされているWebサイトを別のサーバーセットに「移動」し、インターネットの野生の世界がこれらの内部データベースサーバーに「接続」できるようにすることで少なくとも侵害された場合、すべてではありませんサーバーは、そのようなセキュリティ違反によって影響を受けるか、危険にさらされます。

したがって、真のデータベース サーバーを使用することをお勧めします。いずれにせよ、Web サーバー上にある mdb ファイルを使用しようとする理由は (あるとしても) ほとんどありません。

したがって、SQLServer または MySql はソケット接続を受け入れることができ、TC/IP をサポートする任意のネットワーク上で行うことができます。ただし、MS Access の「ファイル」はそのような接続を受け入れません。したがって、http または ftp は許可されません。「mdb」または「accDB」ファイルは、単にハード ドライブ上にあるファイルであることを忘れないでください。

そのため、Excel、Power-point、AUTO CAD、または単純な Access ファイルを使用する場合、そのような「ソケット」接続は不可能です。そのため、Power-Point への接続文字列を使用することはできなくなり、Web サーバーのハード ドライブ上にある単純な Windows ファイルを使用して、たまたま mdb または accDB 拡張子を持つことができます。

ファイルはファイルです。馬は馬です馬です。つまり、そのサーバーのフォルダーにあるプレーンな Jane Windows ファイルについて話しているのです。

Windows プログラム (PowerPoint、この場合は MS Access など) を使用してそのファイルを開いて変更する場合は、Web ベースの接続システムではなく、標準の Windows ネットワークを使用してそのファイルを開く必要があります。

そのため、お気に入りのペイント プログラムであれ、単に Access ファイルであれ、プレーン ジェーン Windows ファイルを開くための接続文字列はありません。

もちろん、構築しているソフトウェアがサーバー側で実行されており、「JET」エンジンがそのサーバーに正しくインストールされている場合 (インストールされている必要があります)、vb.net または標準の oleDB 接続を持つ任意の種類のコードを記述できます。ストリング。したがって、サーバー側のコードでは、接続文字列を使用できることはほぼ間違いありませんが、CLOSE を見ると、常に完全修飾 Windows パス名を使用し、前述のように、JET データベース エンジンがインストールされた Windows 互換サーバーを実行する必要があります。

于 2012-07-09T06:32:38.923 に答える