• 締切済み

ネットワークドライブ経由でODBC

WindowsXP、Apache2/2.0.55、PHP/5.0.5の環境で、ODBCを介してMicrosoft Access(*.mdb)にアクセスするphpを作ろうと思ってます。 データソースがローカルにあるときは上手くいくのですが、ネットワークドライブに割り当てられた共有にあるとウォーニングが出て、データベースに接続できません。 どうすれば接続できるでしょうか?参考にしたURLはhttp://www.phpfreaks.com/print.php?cmd=tutorial&tut_id=61です。 出たウォーニングは Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][ODBC Microsoft Access Driver] パス '(不明)' は正しくありません。パス名に間違いがないことと、ファイルが置かれたサーバーに接続していることを確認してください。, SQL state S1009 in SQLConnect in C:\Program Files\Apache Group\Apache2\htdocs\odbc\odbc.php on line 2 Could Not Connect to ODBC Database! です。

みんなの回答

  • cocom32
  • ベストアンサー率58% (75/129)
回答No.5

割り当てたネットワークドライブは読み取り専用ではありませんか。 読み取り専用なら、フルアクセスにしてください。

taropoo
質問者

補足

残念ながら読み取り専用ではありません。 あと、#2さんへの補足で > ネットワークドライブにパーミッションはつけてないのですが。 と書いたのは私の勘違いでした。申し訳ございません。

  • cocom32
  • ベストアンサー率58% (75/129)
回答No.4

エクセルからネットワークドライブのアクセスに接続した時に同じエラーがでました。 IEのツール(T)→インターネットオプション→セキュリティタブ イントラネットを選択 サイト(S)→詳細設定(A)→次のWEBサイトをゾーンに追加する(D)に file://xxx.xxx.xxx.xxx サーバーのアドレスを入力 追加(A)ボタンをクリックし WEBサイト(W)に追加する。 後はOKボタンですべて閉じる これで接続できるかやってみてください。

taropoo
質問者

補足

やってみましたが、同じ結果でした。

回答No.3

#2です。 どのようなネットワークドライブか書かれていませんが、 何の認証も行わないドライブなんですか? apacheサービス起動ユーザの話は・・ サービス上のタスクからアクセスすることになるので、 Windows認証が関係するようなケースでは、よく問題に なるところなんですが。 認証なしにドライブがアクセスできるような種類の ネットワークドライブ相手なら関係ないですけどね。 (独自認証するケースも関係ないですね) TestDBの定義で、UNC指定にするだけでOKなのではないですかね。

taropoo
質問者

補足

> どのようなネットワークドライブか書かれていませんが、 > 何の認証も行わないドライブなんですか? ユーザー名とパスワードで認証を行っているドライブです。 > TestDBの定義で、UNC指定にするだけでOKなのではないですかね。 やってみましたが、駄目でした。

回答No.2

>#1どの それだとネットワークドライブへのapacheからのアクセスが解消されません。 まずは、apacheサービスをデフォルトであるローカルシステムアカウントでなく、 ネットワークドライブへのアクセス権を持つユーザで、サービスを実行してください。 次に、phpでのmdb指定を、UNC指定(\\server\share\hoge.mdbとか)で行うよう変更してください。 それで解決すると思います。

taropoo
質問者

補足

ネットワークドライブにパーミッションはつけてないのですが。 phpではmdbを直接指定するのではなくODBC経由で(TestDBとして)指定しています。

  • nov-d
  • ベストアンサー率36% (51/140)
回答No.1

WebサーバからDBサーバへの接続が認証されていないということではないでしょうか? もしそうであれば、DBサーバへのログインID、パスワードをWebサーバ側に登録しておくことで回避できるように思います。 <サーバへのログインID、パスワードの登録方法(WinXP)>  管理ツール→ユーザアカウント→詳細タブ→パスワードの管理 外してますかねぇ。(^_^;

関連するQ&A

専門家に質問してみよう