問題タブ [system.data.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.
c# - Oracle Instant Client が動作しない C#
オラクルインスタントクライアントのインストールに問題があります。ここの指示に従っても機能しませんhttp://www.oracle.com/technetwork/database/features/instant-client/index-100365.html
これが私の PATH 変数http://prntscr.com/3yzql4です。PATHには、インスタント クライアントがあるディレクトリの値が含まれていることがわかります。
ただし、(流暢な nhibernate を使用する) プロジェクトを開始すると、次の例外が発生します。
コードのこの行で
ODP.NETの方が優れていると人々が言っていることは知っていますが、これは大学のプロジェクトのためのものであり、私はこれを使用する必要があります.
c# - TableAdapters を Oracle.DataAccess.Client (ODP.NET) に置き換える
私は 100 の TableAdapter (DataSet xsd) のようなレガシー DAL を持っていますが、Oracle クライアント 12c で新しいサーバーを取得したためOracle.DataAccess.Client
、古い deprecated から (ODP.NET)に切り替える必要がありましたSystem.Data.OracleClient
。
私が今持っている唯一の問題は、常にエラーが発生することです: ORA-01008:テーブル アダプターを呼び出すときに、すべての変数がバインドされていません。
TableAdapter ごとに設定BindByName
する必要があることを読みました。しかし、使用される唯一の場所がTableAdapter 自体のデザイナーにある場合、どうすればよいでしょうか?true
OracleCommand
OracleCommand
私は100個ほど持っているので、各TableAdapterを拡張せずにこれを行う方法はありますか?
c# - OracleDataReader で System.FormatException を確認する方法
OracleDataReader を使用して、C# コードから Oracle ストアド プロシージャを呼び出しています。私のコードは次のように似ています
オブジェクト myReader[0] および (myReader[1] が例外「System.FormatException: No digits found」を示す場合があります。
上記の例外が発生した場合、変数 num1 と num2 にデフォルト値を割り当てる必要があります。myReader[0] と myReader[1] に有効な値があるかどうかを確認するにはどうすればよいですか?
c# - OracleClient が接続が閉じていると言う
次の途方もなく単純なコードがあります。
明らかに接続文字列を変更しましたが、接続文字列が間違っているconn.Open()
と呼び出しが失敗するため、少なくともデータ ソース、ユーザー ID、およびパスワードに関しては、接続文字列が正しいことがわかります。
cmd.ExecuteReader()
しかし、電話に出るInvalidOperationException
と、次のメッセージが表示されます。Invalid operation. The connection is closed.
私は C# から SQL Server に関する多くのことを行ってきましたが、OracleClient を使用するのはこれが初めてです。廃止されたという事実を除いて、明らかに間違っていることはわかりませんが、それでも機能すると思います。本番用のコードを書くつもりはありません。ちょっとした 1 回限りのテストをしようとしているだけです。
assemblies - 欠落している参照をプロジェクトに追加しましたが、タイプはまだ認識されていません。なんで?
Web Api 2 プロジェクトで、Oracle データベースにアクセスする簡単なコード サンプルを作成しようとしています。
dll は「デフォルト」では使用できないためOracleClient
(正しく理解している場合、新しいプロジェクトを作成すると、ターゲット フレームワーク サブセットは完全なフレームワーク dll セットではありません)、System.Data.OracleClient への参照を追加しました。
などの dll の型への参照は、入力後にintelisense が表示するOracleConnection
のOracleCommand
と同じように、すべて VS によって認識されます。OracleClient
System.Data
ただし、ビルドは次のエラーを発生させます
ランタイム バージョン( v4.0.30319 ) とバージョン(4.0.0.0) は、たとえば、作成時に自動的に読み込まれる System.Data とまったく同じです。
なにが問題ですか ?
dependency-injection - DbConnection、DbTransaction を接続プーリング、transactionScope、依存性注入で使用する正しい方法は?
Oracle データベースがあり、Oracle.ManagedDataAccess
.
場合によっては、1 回のトランザクションでアクションを実行する必要がありますが、多くの場合そうではありません。
DbConnection
単一の 内でオブジェクトを処理する最善の方法がわかりませんTransactionScope
。
DbConnection
リポジトリにa を挿入し、LifetimePerScope
それらをすべて同じDbConnection
インスタンスにするために使用することもできます。.Open()
しかし、それは賢明な動きですか、一度接続して大丈夫ですか。
LifetimeScope
これにより、トランザクションを使用していない場合でも、常に を使用し、リポジトリ メソッドの外部で接続を開く必要があります。
TransactionScopes は単一の接続に依存していますか、それとも同じトランザクション内で複数の接続を開くことができますか (トランザクションが開いている間、connectionPool はそれをどのように処理しますか?)
私は DbConnections とそのすべての完全な部外者であるため、TransactionScope と DbConnections を使用する最善の方法を完全に誤解している可能性があります。
c# - 小数点以下の桁数が多いOracle FLOAT(126)をADO.NET DataTableに読み込んでいるときにオーバーフローを防ぐ方法は?
データベースの列に のような数値が含まれている場合、0.11212121212121356500008888888888874343468766
DataRow の生成された Decimal 型の列に収まりません。これは DataReader にも当てはまります。DataReader を使用して、ラッパーでこれを解決しました。
しかし、DataSet、DbDataAdapter で何かを行うにはどうすればよいでしょうか? ROUND または TRUNC を使用してすべての datadapter-Select コマンドを書き換えるのは、間違っているだけでなく、それを変更する場所が既に何百もあるため、論外です。
注 これは ODP.NET にも適用されます。タイプは OracleNumber ではなく OracleDecimal です。私のラッパーは両方のクライアントに使用されます。
oracle9i - IIS へのアップロード中にエラー「System.Data.OracleClient には Oracle クライアント ソフトウェア バージョン 8.1.7 以降が必要です」
Oracle 9i データベースで ASP.Net を使用しています。プロジェクトを iis サーバーにアップロードしようとすると、「System.Data.OracleClient には Oracle クライアント ソフトウェア バージョン 8.1.7 以降が必要です」のようなエラーが表示されます。クライアントソフトウェアまたはその他のソリューションはありますか?前もって感謝します..