問題タブ [oracleclient]
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.
java - Java/Oracle: ループの 2 回目の繰り返しで、準備済みステートメントの実行が失敗します (すべての変数がバインドされているわけではありません)。なんで?
シン クライアント経由で Oracle DB に接続する Java アプリケーションをデバッグしています。
コードは次のようになります。
このコードを実行すると、次のことが起こります。
ループの最初の反復は、
currency
「CAN」に設定されます。ループのコード全体が完全に正常に実行されます。
ループの 2 回目の反復では、
currency
"USD" が設定されます。この
"execute()"
呼び出しは、次のように SQLException をスローします。ORA-01008: not all variables bound
なんで?
私の最初の疑いは、registerOutParameter
2D 反復で呼び出されないループの前の呼び出しに何らかの形で関連しているということでした。しかし、その呼び出しをループ内に移動しても問題は解決しません。call は何かのバインドを解除しているようexecute()
ですが、ループ内に両方のバインディングを含めることは役に立ちません。
私は何が欠けていますか?
それが明らかな場合は、優しくしてください-私はOracleとシンクライアントについてほとんど知りません。
1 つの追加の手がかり: この設計は、アプリが OCI ドライバーを使用して Oracle 9 にあった以前は機能していたようです。私がデバッグしている理由は、誰かがそれを Oracle 10.2 thi クライアントに「アップグレード」して壊れたからです。
私の次のステップはおそらくCallableStatement
ループ全体に持ち込むことですが、そのようなことは、そもそもなぜ準備済みステートメントが使用されているのかという考え全体を打ち負かしますよね?
c# - pl/sql クエリと .net での奇妙な動作
次のクエリを実行して、OracleCommand を使用した出力パラメーターでレコードの数を読み取ります。
これはうまくいきます。
しかし、クエリを次のように 2 行に分割すると、次のようになります。
次の例外が発生します。
理由を知っている人はいますか?
ご協力いただきありがとうございます。
oracleclient - Oracle クライアントのチューニング?
Oracle クライアント (InstantClient または通常のクライアント) を調整する方法はありますか?
複数の DMBS (MySQL、PGSQL、および MS SQL Server) で実行されるソフトウェアがあります。なぜ Oracle バージョンの製品が他の製品よりも多くのリソースを消費するのか疑問に思っています。
更新: C++ API (OCI) を使用しています。
.net - 64ビットWindowsで32ビットOracleクライアントを使用するようにWebサイトをコンパイルする方法
Windows 7 64ビットに更新してから、既存の.NET Webサイトを実行した後、このエラーが発生しました。
[InvalidOperationException:Oracleクライアントライブラリをロードしようとすると、BadImageFormatExceptionがスローされました。この問題は、32ビットのOracleクライアントコンポーネントがインストールされた64ビットモードで実行している場合に発生します。]
インストールした32ビットのOracleClientのみをインストールしましたが、64ビットの開発マシンでは、明示的に指定されていない限り、アプリケーションが64ビットのライブラリを想定していることを理解しています。これは私がこれまでに行った検索からのものです。
Solution Platformをx86に変更できることを読みました。これにより、アプリケーションが32ビットを使用するように指示されます。これを実行したいのですが、VisualStudioソリューションのWebサイトにx86オプションがありません。
テストアプリケーションを作成しましたが、オプションがあります。テストWebサイトを作成しましたが、作成しませんでした。32ビットのOracleクライアントを使用するようにWebサイトをx86にコンパイルするにはどうすればよいですか。
乾杯
asp.net - ASP.NET から Oracle データベース (ODP.NET) へ: 使用する Oracle クライアントを指定するにはどうすればよいですか?
複数の Oracle クライアント (8i、9i、10g) を持つ Web サーバーがあります。ODP.net 9.x と 10.x (および対応する oo4o) の両方のコンポーネントがインストールされます。
データベースへの接続時に使用する Oracle/ODP.net クライアントを Web アプリケーションに指定するにはどうすればよいですか?
oracle - tnsnames.oraを変更するためのコマンドライン
oracleクライアントのtnsnames.oraファイルを変更するコマンドラインユーティリティはありますか?
[編集]tnsnames.oraファイルを変更するためのodbcconf.exe(WindowsでODBC接続を編集するため)に似たものを探しています。
[EDIT2]自動ビルドスクリプトのMSBUILDを使用しています。MSBuild Community Tasks Projectには、私が必要としているものにぴったり合うAddTnsNameタスクがあります。私のグーグルスキルは弱いに違いない。コマンドラインtnsnames.oraではなく、MSBuildとtnsnames.oraを検索する必要がありました。ただし、Oracleがtnsnames.ora用のodbcconfのようなコマンドラインユーティリティを提供していないことに驚かされます。
oracle - Oracle クライアントのレジストリで NLS_LANG 設定を変更した場合の影響
現在、.NET Microsoft oracle ドライバーから ODP.NET ドライバーに移行中です。
私たちが経験した問題の 1 つは、次のエラーです。
ORA-12705: NLSデータ・ファイルにアクセスできないか、指定された環境が無効です
レジストリを変更して設定を変更することで、エラーを停止することができました (この質問を参照してください) 。
私たちの場合、私たちは変更しました
HKEY_LOCAL_MACHINE - SOFTWARE - ORACLE - NLS_LANG
NAに設定された
と同じになる
HKEY_LOCAL_MACHINE - SOFTWARE - ORACLE - HOME0 - NLS_LANG
正しく設定されたもの
私の質問は、レジストリに異なる NLS_LANG 設定があるのはなぜですか? この値を変更すると、影響が生じる可能性がありますか?
更新: Oracle NLS FAQで次のことを見つけました
Oracle バージョン 7 の場合:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
Oracle Database バージョン 8、8i、および 9i の場合:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEx\
「x」はOracleホームを識別する一意の番号です。
HOME0 は最初のインストールです
Oracle データベース 10g の場合:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_<oracle_home_name>
そこに名前のエントリがあります
NLS_LANG
OK、バージョンごとに異なるレジストリ設定があります...
ノート:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
バージョン 7 がインストールされていないときに、NLS_LANG が「NA」に設定されていることに混乱する人もい ます。これは下位互換性のために使用され、無視できます。
私は Oracle 9i を使用しているので、さらに混乱しています。ODP.NET dll が Oracle 7 のレジストリ設定を調べているのはなぜですか?
oracle - Oracle サーバー上のデータベースを参照するにはどうすればよいですか?
つまり、私は SQL Server 開発者として、過去に PL/SQL を少し書いたことがありますが、事実上何も知らないという立場から来たのです。
私はラップトップを持っています。それは Oracle を実行しています。ラップトップにはデータベースがあり、それを確認する必要がありますが、私も私が話すことのできる他の誰もが、それが何と呼ばれているか知りません。
管理者ログインであると主張するものを含む、いくつかのログインがあります。
サーバー上のデータベースを参照して接続する最も簡単な方法は何ですか?
サーバー、ユーザー、および SQL Server のデータベース間の関係に関する私の仮定が私を迷わせていると思いますが、現時点では、Oracle が出荷するクライアント ツールが誰かのジョークのアイデアであるという考えを通り越すことはできませんが、実際にはそれを見つけられません。面白い。
実行されているのはバージョン 9.2 であると確信しています。
より多くの情報を提供できることをうれしく思いますが、現時点ではどこから始めればよいかわかりません。
asp.net - System.Data.OracleClient を使用した IIS のセットアップ
Oracle 10.2g データベースに接続する asp.net Web アプリケーションがあります。Visual Studio 2008 Web サーバーでサイトを実行している場合は問題ありませんが、IIS で公開すると、「System.Data.OracleClient requires Oracle client software version 8.1.7 以降」が表示されます。
ASPNET、Authenticated Users、さらには Everyone のすべてのアクセス許可を追加しましたが、まだ機能しません。
他に何を試すべきかわかりません。このサイトは VS2008 統合 Web サーバーでうまく機能するため、これが IIS の問題であることは明らかです。IIS 5.1 を使用しています。
前もって感謝します!
c# - Oracle クライアントと IIS の問題
.NET から Oracle DB に接続するために必要な最小フットプリントについての議論を続けます。インストールせずに(必要なファイルをコピーするだけで)すべてが機能するように設定できました。しかし、コードを IIS (7.5) アプリケーションとして実行しようとすると、次のエラーが発生します。
私が読んだことから、これはアクセス許可の問題である可能性がありますが、これを機能させるために多くのことを試しました (ファイルへのアクセス許可の設定、アプリ プール ユーザーの変更、ProcMon による監視など)。役に立ちます。これにアプローチする方法について誰かアイデアがありますか、それともあきらめてインスタントクライアントをインストールする必要がありますか?
Devart の Oracle clientについては知っていますが、残念ながらそれはオプションではありません。