問題タブ [dbproviderfactories]

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 投票する
8 に答える
25487 参照

entity-framework - App.Config なしで DbProviderFactory を追加する

(Entity Framework に基づく) データ層で DbProviderFactories を使用しており、データベースに SQLite を使用していますが、App.Config を使用して次のコードを作成する必要はありません。

代わりに、データレイヤーにプログラムでそれを入れたいと思います。誰でもこれを行う方法を知っていますか?

編集:

この理由は、IoC コンテナーを使用してデータ レイヤーを選択していて、データ レイヤーの一部が App.Config 値を必要としないか、データ レイヤーに強く結び付けられているためです。

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

mysql - MySQLでADO.NETDbProviderFactoryを使用するにはどうすればよいですか?

MySQLでADO.NETDbProviderFactoryを使用するにはどうすればよいですか?

0 投票する
3 に答える
3041 参照

c# - DbProviderFactory のモック

私は単体テストに比較的慣れておらず、モッキングにもまったく慣れていません。データベースに接続せずに単体テストを作成したい DbProvider ファクトリをラップするデータベース クラスがあります。

クラスをテストするために渡すことができるように、DbProvider ファクトリをモックするにはどうすればよいでしょうか。DbConnection、DbCommand などもモックする必要がありますか? 私のコードの小さなサンプルは次のとおりです。

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

.net - .NETエラーのDbProviderFactories

ODP.NEtライブラリを.NETDBProviderFactoriesで動作させるのに問題があります。このコードで次のエラーが発生します:

system.dataの構成セクションハンドラーの作成中にエラーが発生しました:列'InvariantName'は一意になるように制約されています。値「Oracle.DataAccess.Client」はすでに存在します。

このプロバイダー名:Oracle.DataAccess.Client

そして、web.configの次のエントリ:

誰かが何が悪いのか知っていますか?どこにも2回設定しているとは思いません。

0 投票する
5 に答える
15298 参照

.net - Npgsqlを使用したDbProviderFactory?

SQLServerからPostgreSQLに移植しようとしているプロジェクトがあります。DbProviderFactoryNpgsqlを使用できないことを除いて、私は信じているほとんどすべてのことを実行しました。

収量

未処理の例外:System.Configuration.ConfigurationErrorsException:登録された.NetFrameworkデータプロバイダーの検索またはロードに失敗しました。

これを修正するにはどうすればよいですか?

0 投票する
3 に答える
13625 参照

c# - App.config ファイルに構成を追加する際のエラー

関連する質問: 別のマシンでアプリケーションを実行するとエラーが発生する

これは私の App.config ファイルがどのように見えるかです:

これを開発マシンで実行すると機能しますが、別のコンピューターにデプロイすると、データ プロバイダー エラーが発生します。(上記の関連する質問を参照してください)。

提案された解決策は、これを App.config ファイルに追加することでした。

これを App.config ファイルに追加すると、Visual Studio 2010 でアプリケーションを起動するときに次のエラーが発生します。

system.data の構成セクション ハンドラーの作成中にエラーが発生しました: 列 'InvariantName' は一意に制限されています。値 'System.Data.SQLite' は既に存在します。(C:\Users\Sergio.Tapia\Desktop\DocumentScannerDanyly\DocumentScannerDanyly\bin\Debug\DocumentScannerDanyly.vshost.exe.Config 行 13)

このエラーが何であるかについて何か提案はありますか? また、.sqlite ファイルの場所はそれがインストールされている場所に相対的であるため、AppConfig ファイルの connectionString をより動的なものに変更する必要がありますか?

助けてくれてありがとう。

編集:

ここで誰かが提案したようにこれを構成に追加すると、エラーが発生します。

登録された .Net Framework Data Provider の検索または読み込みに失敗しました。

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

c# - DbProviderFactory のパフォーマンスが SqlClientFactory と異なるのはなぜですか?

DbProviderFactory次のロジックを追加した以外は、SqlX 型を返すカスタムを実装しました。CreateCommand

これを行ったのは、コマンドが作成されたときと、すべての SqlCalls のログが終了したときを追跡できるようにするためSqlDataSourceです (Sql Profiler を起動する必要はありません)。これは機能しましたが、これを実装した後、次の例外が発生しましたSqlDataSource

これはコードビハインドにあります。

スローされたエラーは、標準の SqlClientFactory で機能したにもかかわらず、SqlParameter "@x_id" が存在しないというものでした。デバッガーを使用すると、コレクションに 1 つのパラメーターがあり、x_idデフォルトプロバイダーを使用する場合に表示されました。MyProvider@x_id

これには何らかの理由があり、@ を自動的に追加する方法がありますか、それともコード ビハインドを確認しSqlDataSource、@ があるかどうかに同意する必要があります。
ストアド プロシージャは '@' 記号がなくても機能します。幸いなことに、私はこのように Parameters コレクションを直接操作することはあまりありませんが、そもそもなぜこれが起こるのか知りたいです。

助けてくれてありがとう。

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

visual-studio - Visual Studio でアクセスできるようにカスタム DB プロバイダーを追加するにはどうすればよいですか?

Visual Studio でカスタム DB プロバイダーを使用したいと考えていました。Entity Framework を使用するために必要です。

たとえば、NpgSQL をダウンロードし、GAC に登録しました。

machine.config ファイルに次のように追加されます。

しかし、Npgsql は Visual Studio のデータソース リストに表示されませんでした。

VS のデータ ソース

このリストにカスタム DB プロバイダーを追加するにはどうすればよいですか?

UPD: コマンド文字列 edmgen.exe を使用すると、エラーが発生しました:

エラー 7001: 登録された .Net Framework Data Provider の検索または読み込みに失敗しました。

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

c# - ProviderFactory を使用して例外を取得し、SQLite 接続を作成する

ProviderFactory.CreateConnection() を使用して SQLite 接続を取得しようとしています。次のメッセージで System.ArgumentException を取得しています。

「サポートされていないキーワード: 'datetimeformat'.」

接続文字列は次のとおりです。

app.config ファイルには次のものがあります。

SQLiteConnection インスタンスをインスタンス化すると、接続文字列が機能します。ProviderFactory を使用すると失敗します。これを解決する方法について何か提案はありますか?

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

unit-testing - DAL の単体テストはどのように行いますか?

アプリケーションに、ADO.NET データ プロバイダーをラップするデータ アクセス レイヤーがあります。DAL は、データ プロバイダーから返されたデータを .NET オブジェクトに変換します。DAL の単体テストに反対するようにアドバイスする投稿をたくさん見てきましたが、ループやキャスト、null チェックがたくさんあるため、多くのことがうまくいかないのではないかと心配しています。

RhinoMocks のようなものでモック DbProvider を作成することについていくつか考えましたが、各テストでモックアウトする必要があるインターフェイスの数は圧倒的であり、設定する必要がある期待の数により、テストが非常に難しくなります。読む。各テストは、テスト対象のコードよりも複雑になるようです。これは、単体テストの 3 つの目標の観点からは悲惨なことです。

  1. 可読性
  2. 保守性
  3. 信頼性

使いやすい DbProviderFactory を実装して、xml からサンプル データをロードするというアイデアがありました。テストで依存性注入を介してプラグインできました。これにより、テストの保守がはるかに簡単になります。些細な例は次のとおりです。

使いやすい DbProvider を使用するこのアプローチにより、DAL コードのテストが容易になると思います。次の利点があります。

  1. テスト データは xml にあり、単体テストと共にソース管理に配置できます。外部ファイルまたはテストのインラインにある可能性があります。
  2. 私は実際のデータベースを使用していないので、これによりステートフルネスの問題が解消されます。したがって、各テストの前にデータベースを既知の状態にする必要はありません。
  3. 各テストですべての ADO.NET インターフェイスをモック アウトする必要はありません。コードベース全体で再利用できる一連の偽の実装をコーディングします。

人々はこの考えに批判を与えることができますか? これに使用できる同様の実装が既にありますか?

ありがとう