問題タブ [dbconnection]
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.
.net - C#接続文字列による正しいDbConnectionオブジェクトの取得
関数に渡される接続文字列があり、この文字列に基づいて DbConnection ベースのオブジェクト (SQLConnection、OracleConnection、OLEDbConnection など) を作成する必要があります。
これを行うための組み込み機能、または支援するサードパーティのライブラリはありますか。必ずしもこの接続文字列を構築しているわけではないため、文字列が書き込まれた形式に依存してその型を判断することはできません。可能な接続文字列のすべての組み合わせと順列をコード化する必要はありません。
c# - .NET DbConnection を介した DB2 への接続
現在の DB 接続プロバイダー モデルは、データベース接続に依存して DbConnection (System.Data) ベースのオブジェクトを使用します。
OdbcConnection 経由で DB2 (*Nix * Windows) に接続できますが、ネイティブ DB2 ドライバーの使用を許可したいと考えています。
現在の DAL モデルから離れずに (.Net フレームワーク、オープンソース、または (最後の選択肢) ベンダーのいずれか) を行う方法はありますか?
c# - DbConnection の適切な破棄
DbConnection をラップする DatabaseHelper というクラスがあります。このクラスを using ステートメントにセットアップする適切な方法は何ですか? IDisposible を実装しましたが、いつどこで Connection.Close() または Connection.Dispose() を呼び出す必要があるかわかりません。
独自の Dispose() メソッドで単に Connection.Dispose() を呼び出すだけで、DbConnection オブジェクトから SocketException が発生することがあります。これは、古い接続が開いたままになっているためだと思いますが、例外に詳細が添付されていないため、確かなことはわかりません。
c# - returnステートメントは、usingステートメントがデータベースへの接続を閉じるのを防ぐことができますか?
一時テーブルを作成しているときに、一時テーブルがすでに存在することを通知するエラーメッセージが表示されます。一時テーブルはセッションに固有であるため、接続が適切に閉じられていないようです。これは、usingステートメントにあるreturnステートメントと関係があると思います。
私は次のコードを持っています:
この種のコードをいくつかの場所で使用して、同じ名前の一時テーブルを作成します。
残念ながら、次のエラーが発生しますThere is already an object named '#MyTempTable' in the database
。
これで、一時テーブルはセッションに固有であることがわかったので、セッションを閉じると消えるはずです。
これを引き起こす可能性があると私が信じている3つのことがあります...
- connection.Close()を呼び出す必要があります
- usingステートメントの外にreturnステートメントを配置する必要があります
- 戻る前に作成した一時テーブルを削除する必要があります
誰かがそれがどれであるか知っていますか?またはそれが私が考えていなかったものなら?
memory - ソースとしてインメモリ DataSet (または同様のもの) を使用する Db なしの DbConnection
(適切な設計上の理由から) DbConnections を必要とするいくつかの .NET クラスを単体テストしようとしています。これらのテストでは、これらのクラスへの入力として提供する特定のデータがメモリ内にあります。
そのメモリ内データは、DataTable (またはその DataTable を含む DataSet) として簡単に表現できますが、別のクラスの方が適している場合は、それを使用できます。
何らかの方法で、メモリ内データへの接続を表す DbConnection を魔法のように取得できた場合、オブジェクトを構築し、それらにメモリ内データに対してクエリを実行させ、それらの出力が期待どおりであることを確認できます。 メモリ内データへの DbConnection を取得する方法はありますか? これを実現するために追加のサードパーティ製ソフトウェアをインストールする自由はありません。理想的には、テスト中にディスクに触れたくありません。
ado.net - ASP.NET:web.config ConnectionStringから接続を作成する方法は?
プロバイダー名に基づいて DbConnection を構築するにはどうすればよいですか?
プロバイダー名の例
- System.Data.SqlClient
- System.Data.OleDb
- System.Data.Odbc
- FirebirdSql.Data.FirebirdClient
IIS サーバーの web.config ファイルに接続文字列が保存されています。
それらがすべて異なるプロバイダーを使用していることがわかります。接続を作成するときが来たら、作成する DbConnection の種類を知る必要があります。
- SqlConnection
- OleDbConnection
- Odbc接続
- Fb接続
connectionStrings エントリにはproviderNameが含まれていますが、これらは DbConnection の子孫クラスの名前ではなく、名前空間のようです
文字列providerNameに基づいて DbConnection を構築するにはどうすればよいですか?
mysql - 特定の時間枠内に MySQL データベースで実行されたすべてのコマンドを見つける方法は?
特定の時間枠でデータベースに対して実行されたすべてのコマンドを見つけることは可能ですか? たとえば、過去 24 時間にデータベース テーブルに対して挿入コマンドを実行したユーザーを知りたいとします。
どんな助けでも大歓迎です。
ありがとう。
java - java.sql.Connection スレッドは安全ですか?
java.sql.Connection
質問を言い換えると、異なるスレッド間で実装するクラスのインスタンスを共有しないようにする必要がありますか?
asp.net - ASP.NET Webサイトでは、接続にシングルトンを使用することをお勧めします
現在、Webアプリケーションでシングルトンを使用しているため、データベースへの接続は常に1つだけです。
今私はそのエラーで問題を抱えているので、それが良い考えかどうか知りたいです:
タイムアウトが期限切れになりました。プールから接続を取得する前にタイムアウト期間が経過しました。これは、プールされたすべての接続が使用されていて、最大プールサイズに達したために発生した可能性があります。
もう1つの重要な点は、私のWebサイトは現在開発中であり、多くの人がWebサイトにアクセスしていないため、このエラーが発生する理由がわかりません。
これが私のシングルトンのコードです:
ご協力いただきありがとうございます!
java - isValid()で使用するタイムアウトはどれくらいですか?
Connectionのメソッドでは、どのくらいのタイムアウトを与える必要がありますか?:SIは、通常のタイムアウトがどうなるかわかりません。どのくらいの時間がかかりますか?:)
isValid()がもっと時間があればtrueを返すことができれば、falseを返したくありませんが、プログラム全体の速度を低下させて「フリーズ」させたくありません。
0に設定した場合、タイムアウトは気にしないということですか?必要な限り試行されますか?
ありがとう!