- - PR -
「"System.Data.OracleClient.OCI" のタイプ初期化子が例外をスローしました。」というエラーが出る。
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-06-15 10:19
リリース後は、先方の方でプログラムをメンテナンスしていきたいので、
VS2002で開発して欲しいと言うことだったんです。 このバージョンのライセンスしか持っていないと言うことで。 なので、しょうがなくVS2002で開発しているのです。 | ||||||||
|
投稿日時: 2005-06-15 10:24
では運用機に.NET Framework 1.0を入れてみてはいかがですか?
1.0と1.1を同じサーバに入れても運用できます。 _________________ たつごろー codeseek こみゅぷらす | ||||||||
|
投稿日時: 2005-06-15 10:33
顧客の運用機には、Windows2003標準(?)の1.1のFrameworkが入っており、
いくつかのアプリは動いているのですが、 そこに1.0のFrameworkを入れても問題はないですか? できれば1.1の環境で動かしたいですが。 | ||||||||
|
投稿日時: 2005-06-15 10:47
互換性の問題とバージョン間の変更点を確認してください。 ちなみに、 VS2002→.NET v1.0用の開発環境 VS2003→.NET v1.1用の開発環境 です。 VS2002で1.1用の開発を進めるなら納品物の「検証/保証」はどのようにするつもりなんですか? VS2003で開発を行うべきだと、ちゃんとお客さんに説明するべきだと思います。 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||||||
|
投稿日時: 2005-06-15 11:03
VS2002→.NET v1.0用の開発環境
VS2003→.NET v1.1用の開発環境 はもちろん把握していますが、 現状、顧客の本番機では、VS2002で開発→.NET v1.1で稼動しているシステムが 複数あるのです。 なので、顧客もこう言う環境での依頼をしてきています。 正常に稼動しているシステムの中には、OLEで接続しているものもあるので、 こちらの方法に書き換えれば動く可能性はあるのですが。 ただ、この標題のエラーが何かの設定やアクセス権の問題なら、 解決して、いまのData Provider for Oracleのままで行きたいのです。 | ||||||||
|
投稿日時: 2005-06-15 11:33
納得ずくでやっているなら、とやかく言う必要もないですね。 すみませんでした。 逆に言えば自己責任で頑張ってください、と言うことにもなります。
問題を切り分けるためには、やはり一度VS2003でビルドを行い、 .NETv1.1のみの環境で実行確認してみるのがいいかと思います。 また、WindowsServer2003とXP/2000での権限の違いなどにも、 注目してみてはいかがでしょうか。 それとWinSV2003の.NET1.1には専用のSPが出ているのでこれの 適用や修正内容も確認した方がいいかもしれません。 他にも前掲の非互換部分についての確認を行った方がいいですね。 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||||||
|
投稿日時: 2005-06-15 11:34
> VS2002で開発→.NET v1.1で稼動しているシステムが
複数あるのです。 動いているのは偶然です。 運用しているシステムに偶然という要因が入ってしまうのはしかたがないのですが、わかっているなら排除しましょう。 _________________ たつごろー codeseek こみゅぷらす | ||||||||
|
投稿日時: 2005-06-15 11:53
なぜ接続が失敗するのか、という点はおいておくとして。
「"System.Data.OracleClient.OCI" のタイプ 初期化子が例外をスローしました。」 のように、タイプ 初期化子が云々という例外は、static(Shared)なメンバの初期化段階で例外が発生した場合にスローされます。 例えば、 Private Shared cn as new OracleConnection(); というメンバがあって、new OracleConnection() で例外が発生した場合などです。 とりあえず、Sharedな初期化子やコンストラクタが悪さをしていないか確認してみましょう。 |