私は使用しています:
- アドバンテージ データベース サーバー 10
- Advantage.Data.Provider.dll (v.9.10.2.9)
すべてがほとんどのワークステーションで非常に安定して動作しますが、今日、新しい顧客の 1 人が、私たちのアプリで問題が発生したと報告しました。ログには、次のストレージ例外が表示されます。
System.ArgumentException: 接続文字列のプロパティ 'ユーザー ID' が認識されません。Advantage.Data.Provider.AdsConnectionStringHandler.ParseConnectionString(String strConnect) で Advantage.Data.Provider.AdsPoolManager.GetConnection(String strConnectionString, AdsInternalConnection& internalConnection, AdsConnectionPool& pool) で Advantage.Data.Provider.AdsConnection.Open()
同じコードが他のすべての顧客で問題なく機能するようになるとすぐに、問題は実行環境に関連している可能性があると思いますが、この問題の正確な原因を突き止めようとしています.
何か案は?
アップデート
Advantage.Data.Provider.dll
コードを調べたところHashtable
、接続文字列のプロパティと一致させるために a を使用していて、Hashtable
の初期化が少し奇妙に見えることがわかりました。
public static Hashtable CreateCaseInsensitiveHashtable()
{
return new Hashtable((IEqualityComparer) StringComparer.CurrentCultureIgnoreCase);
}
ここで問題が発生するStringComparer.CurrentCultureIgnoreCase
可能性がありますが、確認する必要があります。