問題タブ [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.
sqlite - エントリ ポイントが DLL であり、ホスティング アプリケーションが .NET でない場合、system.data 構成セクションをロードする方法
私は、Java、Visual Basic 6、および c++ で記述されたさまざまなアプリケーションで、COM 経由でやり取りされる .NET DLL に取り組んでいます。
アプリケーションはクライアント データベースに SQLite を使用しており、system.data DbProviderFactory 構成セクションを使用して、接続を取得する場所に関する情報を DLL に提供しています。ホスティング アプリケーションが .NET の場合は問題なく動作しますが、アプリケーションが .NET アプリケーションでない場合、コードを使用してそのセクションを読み込むにはどうすればよいですか?
ConfigurationFileMap と ConfigurationManager を使用して特定の名前の構成ファイルからロードしようとしましたが、このセクションは特にロードされず、machine.config からのエントリのみが含まれます。
名前付き構成ファイルからこのセクションをロードする明示的な方法はありますか?
.net - App.config で DbProviderFactories をクリアする
machine.config で指定されたプロバイダーを別のバージョンのプロバイダーに置き換えたい App.config があります。でプロバイダーを名前でremove
削除しようとしましたが、今ではそれらすべてを で削除しようとしましたclear
。
これは効果がないようです: 接続文字列は、で指定されたプロバイダーをまだロードしていますmachine.config
。たとえば、以下の構成を使用すると、アプリケーションがプロバイダーを見つけられないことが予想されます。
さらに、別の名前を指定するか、同じ名前を上書きしようとします。も効果なし。
c# - ロードするとすぐにアプリが終了し、エラーは発生しません
私のアプリケーションの 1 つは、開発中のマシンでは正常に動作しますが、別のコンピューターで実行すると、アプリがロードされるとすぐに閉じます。
を展開していないときにこの問題が発生したことを覚えていますが、今回app.config
は展開されていることを確認しました。
アプリケーションでエラーがまったく発生せず、Google からのすべての結果が間違っているため、どうすればよいかわかりません。
この動作の原因は何ですか? 展開されていapp.config
ますが、それについての何か、または1つ以上の参照に関する何かかもしれないと思いますが、よくわかりません。
編集:
どうやらイベント ログにコール スタックがあったようです
c# - DbProviderFactory を設定する ConnectionTimeout
を使用しているときに接続タイムアウトを変更する可能性はありSystem.data.Common.DbProviderFactory
ますか?
linqpad - LINQPad DbProviderFactories GetFactoryClasses
LINQPad.exe.config の DbProviderFactories にエントリを追加しても、System.Data.Common.DbProviderFactories.GetFactoryClasses().Dump(); に表示されないことがわかりました。
それを表示して使用できるようにするには、これを machine.config に追加する必要がありました。それは予想されることですか?
具体的には、参照するアセンブリが必要とするため、Oracle ODP 管理エントリを追加しようとしていました。マネージド プロバイダーを使用するポイントは、アセンブリをより自己完結型で移植可能にすることであり、machine.config に触れる必要があるため、その考えが台無しになると言われています。
.net - .net DbProviderFactory はスレッドセーフですか?
接続プーリングを利用するために に基づいていくつかの古いコードをリファクタリングしていますDbProviderFactory
が、単純な質問に出くわしました: オブジェクトはDbProviderFactories.GetFactory()
スレッドセーフによって返されますか?
コードは次のとおりです。
など。ただし、これは PER THREAD ごとに 1 回行われます。明らかに私が望むものではありません。
「工場」オブジェクトをどこでも使用できるかどうか疑問に思いましたか? DbProviderFactory
同じオブジェクトから異なるスレッドで複数の接続を作成できますか? DbAdapter
同じファクトリからクラスを作成できますか?
ばかげていますが、具体的なサブクラスのMSDNドキュメントでさえ、これができるかどうかはわかりません。たとえば、メソッドのmsdn docは、それがスレッドセーフかどうかを述べていません。インターネット上のいくつかの異なるガイドでは、のインスタンスを開くだけで、スレッドプーリングを実行しますが、これは問題ありませんが、これを行うと:SqlClientFactory
CreateDataAdapter()
SqlConnection
それはスレッドセーフですか?それらの工場はいくつありますか。そのGetFactory
メソッドはスレッド間で何を返しますか? いつも同じオブジェクト?か否か?私が変更している既存のコードはDbDataAdapter
s を多用しているので、そのすべても変更したくありません。
ファクトリを取得して複数のスレッドから使用するのはスレッドセーフですか?
c# - 「ORA-01031: 権限が不十分です」connection.Open();
Oracle.ManagedDataAccess.Client を SYSDBA として使用して、C# デスクトップ アプリケーションから Windows 7 64x バージョンの ORACLE 10g データベースに接続しようとしています。
構成ファイルからの接続文字列は次のとおりです。
コードは次のとおりです。
さまざまな種類のデータベースの一般的なソリューションである必要があるため、DbProviderFactory を使用する必要があります