スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

'Oracle.DataAccess.Client.OracleConnection' のタイプ初期化子が例外をスローしました。

むかしこんにゃく工房←スポンサーサイト

【事象】
VB.NETにてオラクル接続箇所でタイトルのエラー

【原因・対処】
別のバージョンのODP.NETがインストールされていたのでアンインストール

【詳細】
今まで動いていた環境である日から急に表題のエラーが出るようになった。
職場の人が、別のバージョンのODP.NETのみ追加でインストールしたらしい。
ぐくってみると、オラクルより新しいバージョンのODP.NETをインストールするとこのエラーが発生するようなページを発見。

で、c:\windows\assenblyの下のオラクル関連のバージョン新しいやつを右クリック→アンインストール
3つくらい消して正しく動作するようになった。
スポンサーサイト

(オラクル11g)tnsnames.oraのホストがlocalhostなら接続出来るのにIPアドレスだと繋がらない(?)

むかしこんにゃく工房←スポンサーサイト

久しぶりに更新。
ちょっとはまったので。

【環境】
ウィンドウズ2008
オラクル11.2.0.1だったかな(11.2以降で発生するらしい(?))

【現象】
このバージョンのオラクルはtnsnames.oraのホスト名が、デフォルトでlocalhostになるようだ。
そこで、クライアント側はlocalhostでは使えないので、サーバのIPアドレスを設定。
sqlplusで繋ごうとして、「ORA-12541: TNS: リスナーがありません」となった。

【対応】
 ①サーバのtnsnames.oraとクライアントのtnsnames.oraのHOSTにサーバのIPアドレスを設定する
 ②サーバのlistener.oraのHOSTもIPアドレスを設定する。
 ③サービスのリスナーを再起動する。


【詳細】
tnsnames.oraとlistener.oraのHOSTが異なると、「ORA-12541: TNS: リスナーがありません」が出るようだ。
で、ただ単に直しただけじゃなくて、リスナーを再起動しないと反映されないと。
まぁ、冷静に考えればそうなんですが、意外とはまりました。

(オラクル)vb.netのデータアクセスリーダから項目名(フィールド名)を取得

むかしこんにゃく工房←スポンサーサイト

ちょっとぐぐったけど見つからなかったのでメモ。

行のフェッチ後、取得したい項目名の番号が分かっている場合、

Orareader.GetName(0)

こんな感じで引数に0オリジンで数値を渡す。

(オラクル)エクスポートとインポートを何度か繰り返すと、インポートコマンドでCPUが100%になって処理が終わらない

むかしこんにゃく工房←スポンサーサイト

【概要】
表題の通りです。
バッチでエクスポートとインポートコマンドを定期的に流しているんですが、
ある日タスクマネージャでみたらoracle.exeのCPUが100%になっていて、タスクマネージャからimp.exeを強制終了する羽目になった。

【対応】
テーブルのデータさえ戻せればいいので、エクスポートコマンドに、「CONSTRAINTS=N」オプションを追加した。

【詳細】
概要の事象が発生しました。
OSはwin2003、オラクルは10.2くらいだったと思う。(この辺は関係あるかわからんけど。未だにこれはエクスポートコマンドとインポートコマンドのバグだと思っているので。)

で、意味が分からず、テスト的に下記動作を行ってみた。
①エクスポート、インポートする対象のテーブルをドロップ&作成。(テーブル内のデータは0件のまま)
(このテーブルのある項目はチェック制約があり、0か1以外を許さない)
②この0件のテーブルをエクスポート。(引数は忘れたw
③んでエクスポートしたデータをインポート。
④、②と③をセットで10回くらい繰り返す。

すると、1回目は一瞬で完了するのに、5回目くらいのインポートで目に見えてやや遅くなり始める(0件なのに)
で、10回目くらいだと待つのがたるいくらい遅い。
という結果になった。
ためしに他のテーブルにしてみたら何回やっても早くて、問題のテーブルのチェック制約を外してエクスポートインポートしてみたら速かった。
これらのことから、このテーブルのある項目にあるチェック制約が影響しているとわかった。

とはいえ、テーブルのチェック制約を外すわけにもいかず、エクスポート時に制約をエクスポートしないよう「CONSTRAINTS=N」オプションを付けてエクスポートしたら、何度かやっても処理が速かった。
(インポート後にちゃんとテーブルの制約も残っているし良さそうだ)

今日は意外と仕事がはまった。
ちょっとネット調べた限りだと同じような事象の人は居るけど解決できていない人ばかりっぽい。
誰かの役にたってくださいw

VB.NETにて「ORA-12154(TNS:サービス名を解決できませんでした。 )」が出る

むかしこんにゃく工房←スポンサーサイト

仕事でVB6のソースをVisualStudio2008でVB.NET化することになったが、オラクルの接続のところで「ORA-12154(TNS:サービス名を解決できませんでした。 )」が出てしまう。
ウィンドウズのサービスもあがっているし、ユーザとかの接続識別子もあっている。

で、色々調べてVB.NETではファイルパスに半角のカッコが入っていると駄目と分かった。
フォルダ名に半角カッコが入っていたので駄目だったらしい。
プロフィール

syao88

Author:syao88
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
たるいカウンタ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。