データベースに関する問題
このセクションでは PHP とデータベースとの関係に関する一般的な質問を
扱います。なんと! PHP は事実上あらゆるデータベースにアクセスすることが
できます。
-
PHP は Microsoft SQL Server にアクセスできると聞きました。どうすれば
よいのでしょうか?
-
Unix マシン上では、PDO_ODBC
や Unified ODBC API が使えます。
Windows マシン上では、PDO_SQLSRV
や SQLSRV も使えます。
次の質問に対する回答も参照してください。
-
Microsoft Access データベースにアクセスできますか?
-
Unix で PHP を動作させて Windows マシンで動作する MS Access
に接続したい場合には Unix ODBC ドライバが必要です。» OpenLink Software が Unix ベースの
ODBC ドライバを提供しています。
他には、Microsoft SQL Server に ODBC ドライバを使用してデータを
保存するという手段もあります。これによって、Microsoft Access (ODBC
を使用します) と PHP (組み込まれているドライバを使用します) でデータに
アクセスすることができます。また、Microsoft Access と PHP 両者共に
解釈可能な中間ファイル(例えば単層からなるファイルや、dBase
データベース等)を使用する手もあります。これに関しては OpenLink
Software の Tim Hayes が以下のように述べています。
PHP からじかに ODBC ドライバが使用できる場合(つまり OpenLink の
ドライバを使用している場合)には、他のデータベースを中継手段として
用いることはよいアイデアとは言えない。どうしても中間ファイルが
必要な場合のために、OpenLink は NT、Linux、そして他の Unix 用の
Virtuoso(仮想データベースエンジン)をリリースした。私たちの
» ウェブサイトを
訪れてもらえれば、無料でダウンロードできる。
うまくいくことが分かってるもう一つの方法は、MySQL と Windows 用の
MyODBC ドライバを利用してデータベースを同期する方法です。Steve
Lawrence が言うには、
-
MySQL を説明に従って任意のプラットフォームにインストールします。
最新バージョンは » http://www.mysql.com/
にあります。データベースを作成するとき、そしてユーザーアカウントを
を設定するときに、ホストフィールドに % か MySQL を使って
アクセスする Windows マシンのホスト名を入力する、ということ以外には
特別な設定は必要ありません。
使用するサーバー名、ユーザー名、パスワードを書きとめておいてください。
-
MySQL サイトから Windows 用 MyODBC ドライバをダウンロードします。
それを Windows マシンにインストールします。
アーカイブに含まれるユーティリティプログラムで、
テストを行うことができます。
-
コントロールパネルの ODBC administrator を使用して、ユーザー
もしくはシステム DSN を作成します。DSN 名を決定して、Step1 で MySQL
に設定したホスト名、ユーザー名、パスワード、ポート等を入力します。
-
Access をフルインストールでインストールします。これは適切な
アドインをインストールするためです。少なくとも ODBC サポートと
リンクテーブルマネージャが必要です。
-
ここからがお楽しみです。新規データベースを作成しましょう。
テーブルウィンドウで右クリックしてリンクテーブルを選択します。
もしくはファイルメニューから外部データの取り込みを選び
リンクテーブルを選択します。ファイルブラウザが表示されたら
ファイルタイプから ODBC を選択します。次にシステム DSN で
選択肢 STEP3 で作成した DSN 名を選択します。リンクするテーブルを
選んで OK ボタンを押しましょう。MySQL サーバーでテーブルを
オープンできるようになっていて、データの追加/削除/編集ができるように
なっています。さらに、クエリの構築、テーブルのインポート/エクスポート、
フォームやレポートの構築等が可能です。
Tips and Tricks(役に立つヒント):
-
Access でテーブルを作成してそれを MySQL へエクスポートします。
それを再度アクセスからリンクすれば素早くテーブルを作成すること
ができます。
-
Access でテーブルを作成するときは、そのテーブルに書き込み権限を
もたせるためにプライマリキーを設定しておく必要があります。
Access とテーブルをリンクする前に MySQL にプライマリキーを設定
しておくことも忘れないでください。
-
MySQL 側でテーブル(の構成)を変更した場合、再度 Access とリンクする
必要があります。ツール>アドイン>リンクテーブルマネージャから
適切な ODBC DSN を選んで再リンクが必要なテーブルを選択します。
また、ここで OK ボタンを押す前に「リンク先を更新するための
プロンプトを毎回表示する」をチェックしておけば DSN ソースを
移動させることができます。