0

うまくいけば、これはオラクルのボスにとって簡単なものになるはずです.

したがって、前の質問に加えて、C# で接続文字列を処理し、「データ ソース」値 (サービス名の場合) で LDAP ルックアップを実行するか、単にそれは (接続記述子) です。これを行うための最良かつ最も決定的な方法は何ですか? 最初の文字が開き括弧であるかどうかを確認するなど、気まぐれなことをしたくありません。「データ ソース」がサービス名または接続記述子であるかどうかを識別する特定のパターン/シグネチャを探しています。

たとえば (ここで取得)、サービス名を使用すると、次のようになります。

データ ソース=TORCL;ユーザー ID=myUsername;パスワード=myPassword;

接続記述子を使用すると、次のようになります。

Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID)));ユーザーID=myUsername; パスワード=myPassword;

ありがとう。

4

1 に答える 1

0

答えがない場合、複雑ではない独自のソリューションを考案し、接続記述子には常に「DESCRIPTION」が含まれると想定しました。この仮定が正しければ、解は正しいです。そうでない場合は、お気軽に独自の提案をしてください...

string dataSource = connectionString.Split(';').Select(x => x.Split('=')).Single(x => x.First() == "Data Source").Last();
bool isConnectDescriptor = dataSource.IndexOf("DESCRIPTION", StringComparison.OrdinalIgnoreCase) >= 0;
于 2013-02-01T19:13:41.160 に答える