dポイントプレゼントキャンペーン実施中!

お世話になります。
http://okweb.jp/kotaeru.php3?q=1573758で質問をしている者です。
未解決ですが、環境の構築段階からうまくできていないのではと思い
perlでOracle環境を構築する方法を確認させていただきいです。
http://www.tohoho-web.com/lng/199909/99090253.htm
http://homepage3.nifty.com/hippo2000/perltips/pe …
上記を参考に、PPMから必要なモジュール
DBI
DBD-Oracle
をinstallしているのですが、インストールは問題なく終了します。
接続を試みると、前回質問させていただいたエラーになります。
何か見落としているのでしょうか・・、他にどんな原因が考えられるかなど
なんでもよいのでご教示いただけたらと思います。
宜しくお願い致します。
ActivePerl5.8.6
windows2000server
oracle8i

A 回答 (5件)

自分では、必要性がないので、あえてActivePerl522のまま、DBI+Oracleを使っているので、


詳細については、解らないんですが・・・

気になって、ActivePerl811(5.8.6)をインストールして確認しましたが、やはりダメみたいですね。
ほぼ同じような結果になります。

そもそも、DBD-Oracleが古く、v5.8.6を想定していない(≒Perl側の下位互換性のなさ)に
由来するもののような気がします。
ということで、Perlのバージョンをある程度下げるのが良いかもしれません。

この回答への補足

>気になって、ActivePerl811(5.8.6)をインストールして確認しましたが、やはりダメみたいですね。
再現までして頂き大変感謝ですm(. .)m
同じにおいのする方がいらっしゃったので過去ログを追ったのですが、
http://www.hippo2000.info/dbi-japan/2500/2203.htm
ご指摘のように、perlを5.6.xまでダウンすればいける兆しです。

先程までDBD::oracle8(for5.6.x)を入れたりと互換性の模索をしていました。しかしキリがないようで^^;
http://www.hippo2000.info/dbi-japan/2500/2360.htm
ppm置き場にモジュールが無いのはver5.8.xではOracleを使うなって事ですかね?(苦笑)

補足日時:2005/08/24 12:09
    • good
    • 0

>ppm置き場にモジュールが無いのはver5.8.xではOracleを使うなって事ですかね?



activestateで、ダウンロードできるPPMのリストには、v5.8.x用DBD-Oracleは存在しません。
PPMで、ダウンロードインストールできるのが不思議な感じです。

基本的に、私が、ActivePerl522を使い続ける理由は・・

・v5.6.xシリーズは、日本語の取り扱いがめんどくさい。(jcode頼り)
・v5.8.xシリーズの最初の頃のバージョンは、encodeにバグがある。
・なにより、v5.005.03(522)で、困ることがない。

といったのが感じですかね。
    • good
    • 0
この回答へのお礼

先程、ダウングレードして以下の構成で無事Oracleに接続できるようになりました!
perl 5.6.1
DBI(1.48)
DBD-Oracle8(1.06)

>PPMで、ダウンロードインストールできるのが不思議な感じです。
perlのverに応じたモジュールの対応はしていないみたいですね。
perl5.6.xでppmでsearchしてみたら、5.8.xと同様のDBD-Oracleモジュール
(バージョン)が出てきました。。

>基本的に、私が、ActivePerl522を使い続ける理由は・・
>といったのが感じですかね。
私のところでは文字コードは重要でして、今まで通りjcodeに頼ること、
またmimeなどメール関連のverと相談して5.6.xに致しました。

度重なるアドバイスありがとうございました。
多分またすぐお世話になるかもですが^^;
どうぞよろしくお願いします。

お礼日時:2005/08/25 09:55

使っているパッケージは、正しいモノのようですね。



とりあえず、ログインの部分は、間違っているようなので、
次のように変えると良いかと思います。

$hDB = DBI->connect("dbi:Oracle:$sid", $user, $passwd);
    • good
    • 0
この回答へのお礼

あからさまに間違えてました^^;。ご指摘ありがとうございます。
hDB=DBI->connect("dbi:Oracle ・・・)
dbi:Oracleを指定した時点で該当のエラーになるので、モジュールなんでしょうが
なかなか解決に至りません。。
javaやrubyで代用がききますがやっぱりperlで動かしたい・・といったところです。

お礼日時:2005/08/23 11:48

まず、インストールされたPPMのモジュール名(というかパッケージ名)をお知らせ下さい。


(通常、activestateからダウンロードすると思いますが、どれですか?)

貴殿が、参考にされているサイトで紹介しているパッケージと、
実際にインストールしているパッケージが違うように思うのです。
    • good
    • 0
この回答へのお礼

k_o_r_o_c_h_a_n様ありがとうございます。いつもお世話になっております。
>まず、インストールされたPPMのモジュール名(というかパッケージ名)をお知らせ下さい。
ppmからインストールしております。接続先は指定しておりませんので(できるのか?)
activestateデフォルトのサイトに接続されていると思います。
パッケージは問題なくインストールされます。
Successfully installed DBI version 1.48 in ActivePerl 5.8.6.811.
Successfully installed DBD-Oracle version 1.16 in ActivePerl 5.8.6.811.
再度installしなおしましたが、やはり現状のままです。
こんな情報でよろしいでしょうか?宜しくお願い致します。

お礼日時:2005/08/22 10:41

回答ではありませんが、


また、oracleは触ったこともないので、なんともいえませんが、activestateのメーリングリストのperl-DBIの過去ログにヒントがあるかもしれません。
英語なので、私はさっぱり、よめません・・

解決にいたればいいのですが、ご参考までに。
http://aspn.activestate.com/ASPN/Perl/Mail/
http://aspn.activestate.com/ASPN/Mail/Browse/Thr …
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
頂いたMLを読みに行って参りました。私も英語は苦手です^^;
数十件ほど目を通し私と同じ境遇の方もいるようでした。
私の場合ファンクションポイントが見つからないとエラーになりますが
その方はモジュールをロードできないなど違いはありましたが、モジュールはDynaLoader.pmと共通だったりします。
(接続時、最初にそれを呼び出すと思うのでこれだけでは確かではないですが)
ActivePerlでOracleつないでいる方は少なからずいるはずなので、コンポーネント
は疑いませんでしたが、コンポーネントも調べてみます。

お礼日時:2005/08/19 17:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!