人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ActivePerl5.8.7とOracle7.3.4を連動させたスクリプトを組もうとしています。DBD-ORACLEモジュールを使って
my $dbh = DBI->connect(’DBI:Oracle:dsn’,’user’,’pass’); としたところ、
ORA-03134: このバージョンのサーバーへの接続は、サポートされていません。 (DBD ERROR: OCISessionBegin)
というエラーになりました。
Oracle for WindowsのSQLPLUS3.3や32-Bit ODBC TEST Ver2.5.3クライアント単体ではODBC接続できるのですがスクリプトを
実行すると上記エラーになります。どのようにすると、このエラーを解決できるのでしょうか?

DBD-ORACLE.pmの説明書を読むとORACLE7も対応しているという文面がありましたので、接続できないことはないと
考えております。Oracleのバージョンをあげたいのですが、そうもいかない状況です。
ちょっと難しい質問ですが、何かわかる方、アドバイスいただける方がいらっしゃいましたら、回答をお願いします。

よろしくお願いします。

●質問者: dtm_master
●カテゴリ:ウェブ制作
✍キーワード:BIT CONNECT DBI DSN ODBC
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● takumase
●130ポイント

http://www.oracle.co.jp/products/system/matrix_db.html

Oracleシステム製品データベース対応一覧表

エラーメッセージのとおりです。

とりあえずこのURLが参考になるかと思います。

(DBDはフリーソフトになるのでoracle社としては保障していないみたいです。)

ODBCは接続可能ですね。

無理かとは思いますが、ORACLEのサポートも切れていることも考えるとバージョンアップしかないと思われます。

◎質問者からの返答

DBD:;ODBCを使うことにしました。

なんか、腑に落ちないというか、どこかで誰かはうまく使いこなしているような気がしてならないです。DBD::ORACLEの説明書には7対応って書いてあるし。DBD::ORACLEのようなフリーソフトを自分で作れないし、無能だからいけないんだとは思いますが、ちょっと寂しいですね。

とりあえず、ここで質問して駄目だったし、一般的にも難しいお話だということがわかりました。あきらめる決心がつきました。ありがとうございました。


2 ● taro2229
●300ポイント

OCISessionBeginというのはOCI8の関数です。(つまりOracle8以降にできた関数)Oracle8以降のクライアントをいれるか、oxxxxxで始まるOCI7の関数を使って

アクセスしないといけません。

◎質問者からの返答

一回、あきらめかけたけど…

なるほど。ORACLE8以降にも接続できるクライアントを用意するといいのですね。(DBD::ORACLEをいじって、OCI7の関数で呼び出すように改造するのは自分のスキルではできなさそうな気がしますし…)

いま使っているクライアントは5〜10年前に購入したもので、データベースもバージョンアップされていないし、使えるものを使って、ちょっと便利にしようと頑張っているところでして…

ちょっとお金がかかる方法かと思いますし、

簡単には購入することができないので、クライアントを手にする機会があれば試してみたいと思います。どうもありがとうございました。

いまだにORACLE7.3使っているっていうと、その道の人は「懐かしいねぇ」といいますね。

ともかく

当面はDBD::ODBCで運用したいと思います。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ