2016-09-06 19 views
-1

私は、提出されたHTMLフォームから情報を取得し、自動的にAccess 2016データベースに入力しています。このプロセスについての私の理解は限られています。MS Access 2016データベースへのPHPリモート接続

HTMLフォームは、Webサーバーとして倍増している64ビットのWindows Server 2008 R2 DCに格納されています。 PHPもこのサーバーにインストールされ、構成されています。

データベースは別の64ビットWindows Server 2008 R2仮想サーバーに格納されています。

私は、PHPとSQL(MySQL、SQL Serverなど)に関する多くの記事を見てきましたが、PHPとMS Accessについてはほとんど書かれていません。私は今、ODBC接続をセットアップする必要があることを理解していますが、ここで私は迷子になり始めます。

質問:

  • 私はODBC接続は、Webサーバー上で設定/設定する必要があります考えで正しいですか?
  • 考えてみると64ビットODBCドライバのみが必要ですか? (私はこれが正しいと確信していますが、一部の32ビットコンピュータがHTMLフォームにアクセスするため、32ビットODBCドライバを用意する必要があります。しかし、私はこれに関する確認をしたいと思います。)
  • ODBCドライバはどこですか?私は検索を行い、「Microsoft Access Database Engine 2010 Redistributable」のダウンロードに私を連れて来ました。これは私が探しているものですか?私は間違った場所にいると感じる傾向があります。誰かが「Redistributable」が「ODBC Driver」と同じであることを確認できない限り、私は自分が探していると思う傾向があります間違ったところで)

ありがとうございました! Eric

+0

リモートマシンのビット数は関係ありません。彼らはDBに接続するものではなく、PHPは実際に接続しているものです。つまり、PHPに適したODBC DSNを使用する必要があります.32ビットPHPの場合は、3ビットdsnが必要です。 –

+0

ありがとう、マーク。私はそれが事実かもしれないと思ったが、確かに確認するのが良い。 – egoche

答えて

0

Webサービスで実行されているコードはすべてx64なので、もちろんx64アクセス(ACE)odbcドライバが必要です。 [アクセス可能なデータベースエンジン2010再配布可能]を選択してください。実際、2013年も同様に使用できます。 x64版を選ぶことを忘れないでください。

x32またはx64コンピュータがWebサイトに接続するという事実は関係ありません。サーバーとWebコードはx64のプロセスとして実行されているため、Access用にx64 odbcドライバを使用する必要があります。

また、あなたが指摘しているように、accDBアクセスファイルが他のサーバーにある可能性がありますが、そのファイル名は、Webサーバーに完全な権利があるフォルダになければなりません。したがって、IPアドレスは使用しませんが、法的なWindowsフォルダと法的なWindowsファイル(この場合はアクセスaccDBファイル)への完全修飾Windowsパス名です。したがって、Accessデータベースに接続するのではなく、実際にはWindowsファイルを開いていることに注意してください。あなたは単語の文書に接続せず、開いています。あなたはPowerPointファイルに接続せず、開いています。また、Access accDBファイルには接続しませんが、ソフトウェア(odbcドライバ)は実際にAccessファイルのDIRECTウィンドウOSファイルを開きます。

ソケット(tc/ip + IPアドレス)経由で接続できるWebサイトとは異なり、Accessファイルはソケットベースのシステムではありませんが、実際にはプレーンジェーンのWindowsファイルですあなたのソフトウェアによってインプロセスで開かれます。そのため、アクセスファイルのオープンはWebサーバー上で行われます。たとえAccess accDBがそのサーバーに接続されたUSBジャンプドライブまたはサーバーネットワーク上の他のファイル共有であっても。 Accessファイルを開くWebサーバー上のコードについては、Accessファイルは実行中のWebサーバーコードによって直接アクセス可能なフォルダに配置する必要があります。

したがって、ACEデータエンジンはその2番目のサーバーにインストールする必要はありません。たとえば、コードが実行されている場所のみにODBCドライバが必要です。重要な問題は、ほとんどのODBCドライバでは、データベースエンジンを使用して一部のサーバーに「接続」できることです。 Accessはファイルベースであるため、ODBCドライバの両方を使用し、ODBCドライバを使用するコンピュータにデータエンジンをインストールする必要があります。そのドライバーは、ODBCドライバーを使用してローカルのデータ・エンジンのコピーを常に同じコンピューター上に立ち上げます。 SQLドライバを使用すると、SQLデータベースエンジンのローカルコピーが必要になります。

+0

ありがとう、アルバート...あなたの説明は私を大いに助けます! – egoche

+0

アルバート...あなたの答えにもう1つ質問があります。 – egoche

+0

アルバート...申し訳ありませんが、上記のコメントを編集する時間がありませんでした。私はあなたの答えに関するいくつかのより多くの質問があります。あなたはODBCドライバとデータエンジンについて言及しています。昨日、私はあなたが彼らが同じものだと言っていたと思っていました。今私は彼らが2つの異なることを認識しています。 1つは実際のODBCドライバ...もう1つは64ビットの「Microsoft Accessデータベースエンジン2010再配布可能ファイル」(または2013年再配布可能ファイル)です。どちらもWebサーバーにインストールする必要があります...それは正しいですか? – egoche

関連する問題