問題タブ [oraclecommand]
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.
c# - C# と ODP.NET を使用した Oracle トランザクションの実行
よくわかりません。一見すると、C# でトランザクションを実行するのは簡単に思えます。ここから:
http://docs.oracle.com/cd/B19306_01/win.102/b14307/OracleTransactionClass.htm
したがって、接続を作成し、その接続でトランザクションを開始してから、コミットまたはロールバックするまでオフにします。
ただし、次のような他のソース:
https://forums.oracle.com/thread/319121
OracleCommand オブジェクト自体の Transaction プロパティを設定することを推奨します。例えば
さらに、このプロパティは読み取り専用であると言う情報源もあります。実際には読み取り専用ではありませんが、それが何をするのかを明確に示している場所はどこにもありません。
したがって、私の混乱は、 OracleCommand オブジェクトに Transaction プロパティが存在することは、そのコマンドをトランザクションの一部として実行するために使用する必要があることを示唆しているように見えるのに、Oracle 自身のドキュメントではこのプロパティを使用していないことです。それで、それは何のためですか?
だから私の質問は:
- OracleCommand の Transaction プロパティを設定する必要がありますか?もしそうなら、これは正確に何をしますか?
- 接続でトランザクションを開始した場合、その接続で (コミットまたはロールバックまで) 実行される後続のすべてのコマンドは、それらのコマンドで Transaction プロパティを設定しなくても、そのトランザクションの一部ですか?
sql - 2 番目の日付パラメータで ORA-01843: 有効な月ではないエラーがスローされる
Oracle を使用して 2 つの日付の間の日付を確認する必要があるクエリがあります。コードを実行するたびに、ORA-01843: not a valid month エラーが発生します。ただし、SQL から 2 つのパラメーターのいずれかを削除すると正常に動作しますが、2 つの日付パラメーターを使用しようとするとエラーが発生します。私は何が欠けていますか?
oracle - COMMITTED 行または/および実行されたコマンドの数を出力します
Oracle 9i では、コマンド ライン プログラムで。前の行と最後のdbms_output.put_line
行の間で影響を受ける行 (更新/削除/挿入) の数を確認するにはどうすればよいですか?BEGIN
COMMIT
さらに、実行された命令 (DML、DDL) の数を出力する方法は?
c# - OracleCommand クラスと SqlScript の問題
OracleCommand
クラス を使用して次のクエリを実行しようとしています。
しかし、私はこのエラーが発生します:
「ORA-00920 関係演算子が無効です」。
日付の値に関係していると確信しています。しかし、それを修正する方法がわかりません。手伝ってくれる?
ありがとう
c# - C#のコマンドパラメータの先頭(@)の有無の違いは何ですか
C#のSqlCommandのパラメータ名に先頭文字(@
または)がある場合とない場合の違いは何ですか?:
でもこれでOK
これでも動作します
2 番目のものはテストしていませんが、すべてインターネットで見ることができます。
私は Oracle に対して試してみましたが、両方とも動作しまし:
た。
どちらが良いですか、それとも同じですか?
c# - System.AccessViolationException - Oracle クライアント ツール
アプリケーションがこの例外でクラッシュします。context is: 2 つのパラメーターを受け入れるストアド プロシージャを実行しようとしています。コマンド テキストのパラメーターに名前バインディングを使用しています。
例:
私が観察した奇妙な点は、エラーが発生した場合に備えて、特定の回数の再試行のためにこれらのステートメントを for ループで実行することです。OraCommand はインスタンス変数であるため、パラメーター コレクションはクリアされません。
反復 1 では、パラメータ a1、a2 が追加され
ます 反復 2 では、最初の 2 つのパラメータがすでに存在し、ここでも a1 と a2 という名前のパラメータを追加しています。...
すべての反復の開始時にパラメーター コレクションをクリアすると、問題が発生しませんが、ここで問題を引き起こしている理論を思い付くことができません。何か考えはありますか?
c# - C#でOracleCommandを使用して関数から返された「PL\SQLテーブル」を取得します
オラクルのプロシージャ\関数から結果を返すためにC#を使用OracleCommand
するのは初めてです.storedProcedureの実行のほとんどを機能させることができましたが、次のことについてアドバイスが必要です.
以下は、レコードタイプから作成したテーブルを返す関数です
タイプは次のように作成されました
t_col レコードのテーブル
C# で関数を実行したいとき、次のことを試しましたが、OracleDbType には PL\SQL テーブルの列挙型がないことに気付きました。
しかし、これは単にエラーをスローします:
私は他の方法を試しましたが、これまでのところ何もうまくいきませんでした。
編集できない既存の関数がたくさんあるという理由だけで、C# コードでこれを修正する方法があることを願っています。
私も同様の質問を見ましたが、それらからの答えを見つけることができませんでした。
c# - 指定されたキャストは無効です。オブジェクトをキャストしようとしているからですか?
Oracle データベースのクエリを実行するために使用している次の C# コードがあります。コンソールに出力して最終的に変数に保持できるように、数値結果を取得しようとしているだけです。
ただし、次のエラーが発生し続けます。
System.InvalidCastException: 指定されたキャストは、Oracle.DataAccess.Client.OracleDataReader.GetInt32(Int32 i) で有効ではありません
Windows Professional マシンで VS 2012 を使用しています。追加情報を追加する必要がある場合はお知らせください。どんな助けでも大歓迎です。