Я хочу создать сценарии для объектов базы данных, например,
- Таблица
- вид
- хранимые процедуры
- функции
С:
не устанавливаются при новой установке:
- Windows XP
- Windows Vista
- Windows 7
и они не подлежат распространению, они не являются опцией ( будет работать на компьютере клиента ).
( EDIT : похоже, что SMO на самом деле распространяется на сегодняшний день.)
Есть ли исходный код, который преобразует SELECTs из системных таблиц в связанные сценарии?
Я начну с псевдокода 1053 *, который создает сценарии для хранимых процедур, представлений, триггеров или пользовательских функций:
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;
}
Редактировать: Спасибо servicesharvest316 за указание sp_helptext
. Вот почему у меня есть класс, который абстрагирует эти вещи.