Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / скрипт хр. процедуры / 4 сообщений из 4, страница 1 из 1
07.10.2002, 09:30:42
    #32055830
Deosfen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скрипт хр. процедуры
как программно получить скрипт хр. процедуры?
...
Рейтинг: 0 / 0
07.10.2002, 09:40:50
    #32055833
dmakar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скрипт хр. процедуры
взять его из табл. Syscomments базы данных.
...
Рейтинг: 0 / 0
07.10.2002, 12:04:55
    #32055894
akuz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скрипт хр. процедуры
Можно через DMO.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
Public Sub ScriptProcedure(strProcedure As String)
On Error GoTo err_check
    Dim SQLServer As Object
    Dim Database As Object
    Dim proc As Object
    Dim strScript As String
    Dim strFileName As String
    Dim fs As Scripting.FileSystemObject, dest As Scripting.TextStream

    strFileName =  "SQL\"  & strProcedure &  "_"  & Format(Date,  "yymmdd" ) &  ".sql" 
    Set fs = CreateObject( "Scripting.FileSystemObject" )
    Set dest = fs.CreateTextFile(strFileName, True)
    
    Set SQLServer = CreateObject( "SQLDMO.SQLServer" )
    
    SQLServer.LoginTimeout =  10 
    SQLServer.LoginSecure = True
    SQLServer.Disconnect
    
    SQLServer.Connect strDataSource ', strUserName, strPassword'
    Set Database = SQLServer.Databases(strDatabase)

On Error GoTo exists_check
    Set proc = Database.StoredProcedures(strProcedure)
    strScript = proc.Script(SQLDMOScript_Default Or SQLDMOScript_OwnerQualify Or SQLDMOScript_UseQuotedIdentifiers Or SQLDMOScript_ObjectPermissions, , SQLDMOScript2_ExtendedProperty Or SQLDMOScript2_NoCollation Or SQLDMOScript2_NoFG)
'    ArrangeScript strScript'
    strScript = Replace(strScript,  "CREATE PROCEDURE" ,  "ALTER PROCEDURE" )
    dest.WriteLine strScript
    GoTo start_qa
exists_check:
    If err =  21776  Then
        MsgBox  "Процедура "  & strProcedure &  " не существует. Для создания запустите скрипт." , vbCritical,  "Ошибка" 
        err.Clear
    Else
        GoTo err_check
    End If
On Error GoTo err_check
'    GenerateProcedure strProcedure, strScript'
    dest.WriteLine strScript

start_qa:
On Error GoTo err_check
    dest.Close
    Set dest = Nothing
    Shell  "isqlw.exe "  &  "-S "  & strDataSource &  " -d "  & strDatabase &  " -E -f "  & strFileName, vbNormalFocus
    GoTo exit_sub
    
err_check:
    MsgBox  "Ошибка в программе!"  & vbNewLine & err.Description, vbCritical,  "Ошибка" 
    err.Clear

exit_sub:
    Set Database = Nothing
    SQLServer.Disconnect
    Set SQLServer = Nothing
    If Not dest Is Nothing Then
        dest.Close
        Set dest = Nothing
    End If
End Sub
...
Рейтинг: 0 / 0
07.10.2002, 12:49:37
    #32055921
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скрипт хр. процедуры
Еще можно через процедуру sp_helptext.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / скрипт хр. процедуры / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]