- ベストアンサー
ファイルサーバーのDBへのアクセス方法
以前、ORACLEにアクセスする方法で悩んでいたものです。 結局、ORACLEを直接アクセスすることをあきらめてACCESS経由にしました。 自分のパソコンでCGIと同じフォルダにACCESSのDBを作って試験しました。 この環境では、成功しました。 そこで、ACCESSのDBをファイルサーバー上(色々なPCからアクセスさせるため)に おいて、同じことをしようとしましたら、DBへCONNECTできなくなりました。 ホスト名やポート番号はあっています。 何か他に必要なことがあるのでしょうか? どなたか教えていただけないでしょうか? 宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
あら、ORACLEは諦めて、ACCESSにしちゃうってことですか? 僕の思い込みかもしれませんが、ACCESSってファイルをオープンするタイプのでDBで、直接ネットワーク接続できるものじゃないですよね? なので、 > ホスト名やポート番号はあっています。 このポートを待ち受けているプログラムって何? (実はACCESSってポートを開けて待ってたりするんですか?) ネットワークドライブ等で、ファイルとしてオープンして使うものじゃないのかな?
その他の回答 (1)
- NARH
- ベストアンサー率82% (88/107)
> ただ、ACCESSのテーブルは読めるのですが、ACCESSでLINKしたORACLEのテーブルを > よみにいくと以下のエラーが出てしまって困っています。 > error:Statement handle not marked as Active > EXCELからACCESSでLINKしたORACLEのテーブルは読めるのですが、PERLでは読めません。 ACCESSは素人なので解らないですが、想像するにACCESSは内部で他のデータベースへのリンクと判別すると、ハンドラを切り替える処理をしていると思います。 この処理はACCESSが行っているので mdb ファイルには、他のデータベースへのリンクですよというマークしかないんじゃないかと想像します。 なので、Perlでも同等の処理を加えなければならず > error:Statement handle not marked as Active と、そんなハンドラ使えないっす。とエラーになってるのかと。 エラーの文章をみると、ハンドラ名(DSN名かな?)が渡ってきているっぽいので、そのハンドラを、あらかじめ(ODBCドライバかな)用意しておけば使えるのかも? なんかいきあたりばったりで、複雑になってません? 一度シンプルにならないか、見直してみてはどうですか?
お礼
ありがとうございました。 ACCESS DBは、クライアントにおくことにしました。 ただ、ACCESSのテーブルは読めるのですが、ACCESSでLINKしたORACLEのテーブルを よみにいくと以下のエラーが出てしまって困っています。 error:Statement handle not marked as Active EXCELからACCESSでLINKしたORACLEのテーブルは読めるのですが、PERLでは読めません。 教えていただけないでしょうか?