かなり簡単な問題のようです。私は約6GBのコンテンツと古典的なASPコードを見て、接続文字列のように見えるものを探したい。問題は、接続文字列が12種類の異なる方法でフォーマットされていることです。プログラムでコード内の接続文字列を見つける
私は正規表現を使って "catalog ="や "password ="などの特定のプロパティを探すことを考えていました。
かなり簡単な問題のようです。私は約6GBのコンテンツと古典的なASPコードを見て、接続文字列のように見えるものを探したい。問題は、接続文字列が12種類の異なる方法でフォーマットされていることです。プログラムでコード内の接続文字列を見つける
私は正規表現を使って "catalog ="や "password ="などの特定のプロパティを探すことを考えていました。
私はあなたの痛みを感じます - なぜ人々はそれをしますか?
regex/grepのようなツールがあります。彼らがフォーマットされている無数の方法を受け入れることは楽しいことではありません。
あなたはこの正規表現を使用しますか?
@"^([^=;]+=[^=;]*)(;[^=;]+=[^=;]*)*;?$"
http://social.msdn.microsoft.com/Forums/en-US/regexp/thread/48bf2a4f-7312-4a32-b874-b77a27f7c5d0
私はいくつかのランダムなそれでテキストだけでなく、あなたの可能なフォーマットの各1つの接続文字列を持つサンプルファイルを作る取ると思います。次に、テストファイルのすべての接続文字列に一致する正規表現を(1つまたは複数の)正規表現に書き込みます。次に、6GBのデータで実行し、最高のものを願ってください。
x = "Provider=xyz;Initial Catalog=bdf;Database=pdq;"
継続線の束:
x = "Provider=xyz;" & _
"Initial Catalog=bdf;" & _
"Database=pdq;"
線の束:
x = "Provider=xyz;"
x = x & "Initial Catalog=bdf;"
x = x & "Database=pdq;"
又は内の接続文字列は単なる文字列として構築することができることである
dotnet a ConnectionBuilderオブジェクト
SqlConnectionStringBuilder x = newSqlConnectionStringBuilder();
x.Add("Data Source", "pdq");
x.Add("Initial Catalog", "xyz");
接続文字列が使用されているすべての場所を識別し、後方に作業する方がよいでしょうか?
「のSQLConnection | odbcConnectの| OleDbConnectionオブジェクトは、|のConnectionString」
おそらく。問題は、文字列が使用されているすべての場所をどのように識別するのですか?これは私にとっては外来コードなので、ファイルのせん断量は手作業を不可能にします。 –
は、使用するのは良い正規表現を厥、私はちょうど、接続文字列を渡している場合にのみ検証します。テキストファイル全体を渡す必要があります。 –
うーん;-)幸い!私が何かを考え出すことができるかどうかを見てみましょう。 – Shoban