データベース オブジェクトのスクリプトを生成したい。
- テーブル
- ビュー
- ストアド プロシージャ
- 機能
以来:
以下の新規インストールではインストールされません。
- WindowsXP
- Windows ビスタ
- ウィンドウズ7
また、再配布可能ではなく、オプションではありません (顧客のマシンで実行されます)。
(編集: SMO は今日の時点で実際に再配布可能であるように見えます。)
システム テーブルのSELECTを関連するスクリプトに変換するソース コードはありますか?
ストアド プロシージャ、ビュー、トリガー、またはユーザー定義関数をスクリプト化する疑似コードから始めます。
String GetStoredProcedureScript(String storedProcedureName)
{
return GetHelpText(storedProcedureName);
}
String GetViewScript(String viewName)
{
return GetHelpText(viewName);
}
String GetTriggerScript(String triggerName)
{
return GetHelpText(storedProcedureName);
}
String GetUserDefinedFunctionScript(String userDefinedFunctionName)
{
return GetHelpText(userDefinedFunctionName);
}
内部で単一のヘルパー関数を使用できるすべて:
String GetHelpText(String objectName)
{
String szQuery = 'EXECUTE sp_helptext '+QuotedStr(objectName);
String sql := '';
using (Recordset rs = connection.Execute(szQuery))
{
while not rs.EOF do
{
sql = sql+rs['text'];
rs.Next;
}
}
return sql;
}
編集:ご指摘いただきありがとうございますservicesharvest316sp_helptext
。そのため、これらのものを抽象化するクラスがあります。