問題タブ [odac]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3071 参照

iis-express - IISExpress7.5で64ビットが機能しないOracleDataAccessコンポーネント

ODAC(Oracle Data Access Components 64ビット)odp.net 4をインストールしましたが、残念ながらIIsExpressでは動作しません。IIS Expressのドキュメントによると、32ビットシステムと64ビットシステムの両方をサポートしています。odp.net 4(64ビット)で動作する可能性はありますか、それとも開発マシンでodac32ビットコンポーネントで動作する必要がありますか。

前もって感謝します!

0 投票する
1 に答える
542 参照

c# - Entity FrameworkのODACが不正なSQLを出力していますか?

私はシステムを MS SQL から Oracle に移行してきましたが、この問題が発生するまで、多かれ少なかれ困難な障害はありませんでした。

オラクルから取得するエラーメッセージは次のとおりです。

ORA-06550: 行 4、列 54: PL/SQL: ORA-00926: VALUES キーワードがありません ORA-06550: 行 4、列 1: PL/SQL: SQL ステートメントは無視されました

複雑な INSERT/UPDATE を実行しているときにのみ発生します。つまり、複数の新しく入れ子になったエンティティはすべて、1 回の .SaveChanges 呼び出しでコミットされます。ロギング用の単純な INSERT ステートメントは問題なく機能します。

私はオラクルにまったく慣れておらず、ロープを学んでいますが、そのエラーメッセージは、Entity Frameworkによって生成されているSQLの形式が正しくないことを示しているようです. 私はウェブ全体を検索しましたが、この問題に遭遇した人を他に見つけることができませんでした.

VS2010、.NET4、および最新の 32 ビット ODAC 11.2.0.2.50 Beta 3 で実行しています

この場合、通常、MS SQL を使用して、SQL プロファイラーを起動し、アプリケーションが送信したクエリを調べて、問題をより適切に示すことができるようにしますが、私のオラクル データベース管理者は、そのようなツールはないと言っています。オラクル用。

誰かがこのようなことに遭遇しましたか?

よろしく、クリス

0 投票する
1 に答える
6886 参照

oracle - OracleデータベースとODACのインストールについて

ASP.NETMVCプロジェクトでOracleXEDBを使用したい。VSが実行されているのと同じマシンにOracle11gXEをインストールしました。C:\oraclexeでインストールが正常に完了しました。予想通り、デフォルトの.NET oracleデータアクセスプロバイダーを使用して、サーバーエクスプローラー経由でDBに接続できました。しかし、ODP.NETを使用したいので、ODP.NET + ODTをC:\appにインストールしました。これが最初の紛らわしいことです。C:\ oraclexe .. \ serverとC:\ app ..\client_1のディレクトリ構造は似ています。どちらにも、Tnsnames.oraが存在するNETWORK\ADMINフォルダーがあります。クライアントがデータベースへの接続に使用されていることを理解していますが、次のようになります。

  1. データベースへの接続に使用されるTnsname.oraはどれですか?
  2. Oraclexeには、Oracle.DataAccess.dllが存在するodp.netフォルダも含まれています。サーバーのインストールにodp.netが付属している場合、なぜODACをインストールする必要があるのですか?VSのサーバーエクスプローラーは、ODACのインストール後にのみ接続用のODP.NETドライバーを提供してくれました。
  3. ODACにはOracleInstantClientが付属しています。OracleClientを使用する場合とOracleInstantClientを使用する場合 Oracle Clientを選択してから、接続用にODACをインストールする場合、ODACの一部であるInstant Clientもインストールされますか?
  4. 最後に、サーバーとクライアントをインストールした後も、VS2010はASP.NET構成でOracleプロバイダーを提供しません
0 投票する
3 に答える
3427 参照

c# - ODAC 11.2 リリース 4 (11.2.0.3.0) が「Oracle 11.2.0.2.0 は APPLY をサポートしていません」という例外をスローする

オラクルがリリースしたばかりの新しい ODAC で Entity Framework を使用しています。

私の問題は、以前のベータ リリースで機能していたクエリの一部が、この新しいリリース バージョンで機能しなくなったことです。

次に例を示します。

test1 は正しい結果を返しますが、test2 は、「Oracle 11.2.0.2.0 は APPLY をサポートしていません」というメッセージとともに Oracle 例外「ORA-00905: キーワードがありません」をスローします。

すべてのメソッドを再テストしたくありません。apply を使用しないように EF に指示する方法はありますか?

EF が生成しているクエリは次のとおりです。

test1クエリ:

test2クエリ:

前もって感謝します。

0 投票する
1 に答える
2605 参照

oracle - Oracle SqlError: プロトコル違反 / OALL8 は矛盾した状態です

プロトコル違反が発生し、OALL8 は SELECT クエリを実行しようとする一貫性のない状態の例外ですが、一部のテーブルでのみ発生します。私が最初にこれに気付いたのは、SELECT * FROM SOMETABLE. それは数百のレコードを通過し、その後私を閉じ込めます。Oracle の SQLDeveloper で同じクエリを実行してみましたが、一部のテーブルでプロトコル違反の例外が発生しました。最終的には、どのクエリに対しても「OALL8 が矛盾した状態にある」ことを示すポイントに到達します。

なぜこれが発生しているのか、問題を解決する方法を知っている人はいますか? 一貫性のない状態はどこにありますか? Oracle の SqlDeveloper は独自のスタンドアロン クライアントですか、それとも ODAC または Instant Client (PATH 環境変数で参照) に依存していますか?

最近変更された唯一の点は、odp.net を使用して .NET の System.Data.OracleClient を置き換えることができるように、ODAC をインストールしたことです。ITはODAC 11.2.0.3.0で、Oracle Developer Tools for Visual Studio、32ビットでした。それ以来、PATH 環境変数を更新して、スタンドアロンのインスタント クライアントを指すようにしました。

  • Instant Client - 11.2.0.2.0、Win XP SP3、32 ビット Oracle DB で実行:

  • Oracle Database 11g Express Edition リリース 11.2.0.2.0 - 本番、Windows Server 2003、x64 上で実行

  • ODAC: 11.2.0.3.0

SqlDeveloper は ODAC をインストールする前にインストールされていましたが、PATH 環境変数で ODAC が参照されていないにもかかわらず、どういうわけか SqlDeveloper がクライアントとして ODAC を経由しているようです。

更新:最初に ODAC をインストールしたとき、クエリはすべて正常に機能していました。その後、1 日後に機能が停止しましたが、その理由は説明できません。ODAC をアンインストールしようとしましたが、削除する .DLL を探すときに失敗しました。次に、ORACLE_HOME を手動で削除し、ODAC を再インストールしましたが、今のところ問題なく動作しています。なぜそうなのかわかりません。

0 投票する
1 に答える
45837 参照

msbuild - ODP Oracle.DataAccess.DLL 参照 32/64 ビット

ODP (Oracle.DataAccess.dll) を参照する .NET 3.5 アセンブリを Visual Studio 2010 でビルドしています。ローカルのコピー = False、特定のバージョンは false です。パスは

バージョンは 2.112.3.0 (ランタイム v.2.0.50727) です。開発マシンに ODAC 11.2.0.3.0 x86 がインストールされています。このプロジェクトをビルドして統合テストでテストすると、すべてが正常に機能し、ODP がロードされて使用されます。MSBuild (Team City 経由) を使用して、Windows Server 2003 x64 マシン上の Team City 7 で同じ統合テストをビルドしようとしています。このマシンには同じバージョンの ODAC がインストールされていますが、x64 バージョンです。

Oracle.DataAccess.dll のロード中に問題が発生しました。.NET 2 バージョンを探しているようですが、最初に .NET 4 バージョンを見つけてから、必然的に失敗します。ログを見ると、.NET 4 バージョンが見つかりますが、参照を解決できず、明示的に x86 バージョンを探しているようです。MSBuild の構成は次のとおりです。 MSBUILD バージョン: .NET 4.0 Run Platform x86。

CSProject リファレンス:

(実行プラットフォームを x86 に変更しようとしましたが、Oracle.DataAccess.DLL ライブラリを受け入れているようですが、他のすべてのコア .NET ライブラリが間違ったプラットフォーム (mscorlib など) をターゲットにしていると不平を言っています)

また、msbuild を使用してプロジェクト ソリューションをビルドする rake スクリプトを使用してビルドを実行しようとしていますが、同様の問題が発生します。

質問: これを x64 マシンで正しくビルドするにはどうすればよいですか? ライブラリの x86 バージョンと x64 バージョンは同じ PublicKeyToken を持っているので、動作しないのでしょうか? CSProj の参照タグは、(ファイルを手動で編集して) 明示的に x64 ではなく、「任意の CPU」をターゲットに設定できますか? または、ここに示すように、ビルド マシンのアーキテクチャに応じて条件付きでライブラリを参照する方法を設定する方法はありますか(何が問題なのか正確にはわかりませんが、これが解決策になる可能性があります)。

0 投票する
1 に答える
1192 参照

c# - Oracle での一括挿入のパフォーマンス

私は多くの解決策を試しましたが、まだ何かを理解していません:単純な挿入 (異なる種類の 40 列 (ブロブを含む) を使用) を取得し、この種のデータ受け渡しを挿入しようとしています (私は C# から Odac を使用します) 値の配列パラメータごとに。

結果は、多かれ少なかれ4000行のExecuteNonQueryの1回の呼び出しです。問題は、要素があまりないこの挿入が3時間続くことです。

なにか提案を?データソースはソフトウェアからのものであるため、db、そのメモリデータにリンクすることはできません。それらを配列に入れて、実行する oraclecommand の入力パラメーターとして渡すだけです。

この場合、ストアドプロシージャを使用すると違いがありますか? なぜ?

挿入は実際にはトランザクションにありますが、挿入しようとしているテーブルにはまったくインデックスがありません.dbは100個のテーブルを持つOracle XEの通常のインストールであり、トランザクションにはこの挿入だけが含まれ、それほど大きくない他のいくつかのアクションが含まれます. 挿入しようとするデータの合計は最大 100 Mb です...何をもう一度確認すればよいかわかりません:(

繰り返しますが、トランザクションはパフォーマンスに影響を与えていないようで、速度は線形ではありません。つまり、1000 要素 = 10 分、4000 要素 = 3 時間..すべて CPU 100% でメモリを大量に使用します。

0 投票する
4 に答える
24866 参照

c# - Oracle Instant Client と Entity Framework の構成に関する問題

以前のバージョンの ODP.NET がインストールされているサーバーに MVC、EF、ODAC 11.2.0.3 アプリをデプロイできるかどうかを調べようとしています。サーバーの ODP.NET を更新するのではなく (私にはできません)、Oracle Instant Client を使用できると考えました。

これは実行可能ですか?

1) Instant Client をサポートするために、これらの dll をプロジェクトに追加しました。

-Oracle.DataAccess.dll

-oci.dll

-ociw32.dll

-orannzsbb11.dll

-oraociei11.dll

-OraOps11w.dll

2) 次に、dbProviderFactories の web.config を更新しました

3)これ(私の知る限り)は、GACではなくビンでOracle dllを使用する方法です

4) 最後に私の接続文字列

これは、要求された .Net Framework Data Provider が見つかりませんというエラーです。インストールされていない可能性があります。

ここで何か助けていただければ幸いです。私はかなり新しく、学ぶことがたくさんあります。前もって感謝します。乾杯

0 投票する
0 に答える
193 参照

visual-studio-2010 - デプロイ パッケージの一部として odac をインストールする

Forms アプリケーションとともに ODAC コンポーネントをインストールする必要があります。VS2010 パブリッシュ ウィザードを使用して、パッケージを UNC パスに展開しています。ODAC コンポーネント (odp.net4) と Insta-client を単一の展開パッケージで展開およびインストールするにはどうすればよいですか?

0 投票する
1 に答える
225 参照

asp.net - Oracle 11g ストアド プロシージャが更新された場合、IIS WebApp の再起動は必須ですか?

ODAC (Oracle .NET データ プロバイダー) を介して、Oracle 11g ストアド プロシージャを使用する ASP.NET Web アプリケーションを取得しました。

ストアド プロシージャを更新すると Web サイトが壊れてしまうことが多く、再起動する必要があることに気付きました。

.NET と Oracle の間のこの強い結合を経験した人はいますか?