2012-12-20 7 views
6

私は.sqlファイルがあります。C#でストアドプロシージャの署名を解析する方法

ファイルを読み込み、ストアドプロシージャの署名付きリストを取得するC#で小さなプログラムを書く必要があります。

たとえば、このリストは、次のようになります。正規表現を使用してこれを行う方法は

[dbo].[procedureOne] (int, int, varchar(250) out, nvarchar) 
[dbo].[procedureTwo] (int, varchar(255)) 
[dbo].[procedureThree] () 
[dbo].[amazingSP] (datetime, datetime) 

ありますか?

最良のアプローチは何ですか?

+0

入力の構造は何ですか? – Woot4Moo

+0

入力は、 "CREATE PROCEDURE [dbo]。[amazingSP] param1 int、param2 datetime ... etc"のようなストアドプロシージャ定義を持つ.sqlファイルです。 – Herno

+0

ファイルにスキーマのような追加情報はありません。まっすぐなCREATE PROC ... – Woot4Moo

答えて

0

最後に、私はC#で署名パーサーを手作業で実装しました。パーサを壊して予期せぬ結果を引き起こすケースが常にあったので、それを磨くのに数日かかりました。とにかくそれをコーディングするのは面白かったです。 誰かがそれを必要とすると、コードを完成したらアップロードします。

1

多分あなたはRegexでそれを行うことができますが、実際にはパーサの作成はこの場合には簡単だと思います。

ご希望の方は、Ironyを試してみてください。非常に使いやすいです。

関連する問題