home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 1_2002.ISO / Data / Zips / SQLScripte2866610122001.psc / modMain.bas < prev    next >
Encoding:
BASIC Source File  |  2001-10-12  |  5.0 KB  |  185 lines

  1. Attribute VB_Name = "modMain"
  2. Option Explicit
  3. Option Compare Text
  4. DefInt A-Z
  5.  
  6. 'API Types
  7. Public Type SHITEMID
  8.    cb             As Long
  9.    abID           As Byte
  10. End Type
  11.  
  12. Public Type ITEMIDLIST
  13.    mkid           As SHITEMID
  14. End Type
  15.  
  16. Public Type BROWSEINFO
  17.    hOwner         As Long
  18.    pidlRoot       As Long
  19.    pszDisplayName As String
  20.    lpszTitle      As String
  21.    ulFlags        As Long
  22.    lpfn           As Long
  23.    lParam         As Long
  24.    iImage         As Long
  25. End Type
  26.  
  27. 'API Constants
  28. Public Const BIF_RETURNONLYFSDIRS = &H1
  29.  
  30. 'API Functions
  31. Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias _
  32.                 "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
  33. Declare Function SHBrowseForFolder Lib "shell32.dll" Alias _
  34.                 "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
  35.  
  36. 'Public variables
  37. Public gobjServer As New SQLDMO.SQLServer
  38. Public gsServerNameSW As String
  39. Public gsLoginSW As String
  40. Public gsPasswordSW As String
  41. Public gvDatabasesSW As Variant
  42. Public gsDestDirSW As String
  43. Public gbDelOldFilesSW As Boolean
  44. Public giDelWeeksSW As Integer
  45. Public gbSaveDTSPackagesSW As Boolean
  46. Public gbScriptAlertsSW As Boolean
  47. Public gbScriptServerLoginsSW As Boolean
  48. Public gbScriptAgentJobsSW As Boolean
  49. Public gbScriptBackupDevicesSW As Boolean
  50. Public gbRunUnAttendedSW As Boolean
  51.  
  52. Public gbNoGUI As Boolean
  53. Public gsUnattendedLog As String
  54. Public gsLogFile As String
  55.  
  56. ' new command line options
  57. Public gbScriptDB       As Boolean
  58. Public gbScriptTabs     As Boolean
  59. Public gbScriptViews    As Boolean
  60. Public gbScriptSPs      As Boolean
  61. Public gbScriptRules    As Boolean
  62. Public gbScriptDefs     As Boolean
  63. Public gbScriptRoles    As Boolean
  64. Public gbScriptUsers    As Boolean
  65. Public gbScriptUDTs     As Boolean
  66. Public gbScriptFTCs     As Boolean
  67. Public gbObjsInSepFiles As Boolean
  68. Public gbDatePrefix     As Boolean
  69. Public gsSelTables      As String
  70. Public gbScriptDrops1st As Boolean
  71.  
  72. Public Function BrowseForFolder(szPrompt As String) As String
  73.    Dim biInfo As BROWSEINFO
  74.    Dim pidl As Long
  75.    Dim szPath As String
  76.    
  77.    szPath = Space$(512)
  78.    
  79.    biInfo.hOwner = 0&
  80.    biInfo.pidlRoot = 0&
  81.    biInfo.lpszTitle = szPrompt
  82.    biInfo.ulFlags = BIF_RETURNONLYFSDIRS
  83.    
  84.    pidl = SHBrowseForFolder(biInfo)
  85.    SHGetPathFromIDList ByVal pidl, ByVal szPath
  86.    
  87.    BrowseForFolder = Trim$(szPath)
  88. End Function
  89.  
  90. Public Sub SaveLog(ByVal gsLogFile As String)
  91.     Dim iFileNumber As Integer
  92.     
  93.     On Error Resume Next
  94.     iFileNumber = FreeFile
  95.     Open gsLogFile For Output As #iFileNumber
  96.     Print #iFileNumber, gsUnattendedLog
  97.     Close #iFileNumber
  98.     DoEvents
  99. End Sub
  100.  
  101. Public Sub StatusMessage(ByVal strMessage As String)
  102.     Const ciMaxVisualLogLength As Integer = 30000
  103.     Const cstrLogDateTimeFormat As String = "yyyymmdd Hh:Mm:Ss"
  104.     
  105.     Dim strLogEntry As String
  106.     Dim iPos As Integer
  107.     
  108.     On Error Resume Next
  109.     strLogEntry = Format(Now, cstrLogDateTimeFormat) & vbTab & strMessage
  110.     gsUnattendedLog = gsUnattendedLog & strLogEntry & vbNewLine
  111.     If Not gbNoGUI Then
  112.         With frmMain.lblStatus
  113.             .Caption = " " & strMessage
  114.             .Refresh
  115.         End With
  116.         If Len(gsUnattendedLog) > ciMaxVisualLogLength Then
  117.             iPos = InStr(Right$(gsUnattendedLog, ciMaxVisualLogLength), vbNewLine)
  118.             With frmMain.txtLog
  119.                 .Text = Right$(gsUnattendedLog, ciMaxVisualLogLength - iPos - 1)
  120.                 .SelStart = Len(.Text)
  121.                 .Refresh
  122.             End With
  123.         Else
  124.             With frmMain.txtLog
  125.                 .Text = gsUnattendedLog
  126.                 .SelStart = Len(.Text)
  127.                 .Refresh
  128.             End With
  129.         End If
  130.     End If
  131. End Sub
  132.  
  133. Public Function CreateDataInsert(ByVal vsTableName As String, _
  134.     ByVal vbIdentityPK As Boolean, ByVal vsServer As String, _
  135.     ByVal vsDatabase As String, ByVal vsLogin As String, ByVal vsPwd As String, _
  136.     ByVal vbTrustedConnection As Boolean) As String
  137.     
  138.     Dim k As Integer
  139.     Dim strSql As String, strSql1 As String, strMainSql As String
  140.     Dim sFieldVal As String, sOutput As String
  141.     Dim RS As New ADODB.Recordset
  142.     Dim sDSN As String
  143.     
  144.     If vbTrustedConnection Then
  145.         sDSN = "Provider=SQLOLEDB.1;Persist Security Info=False;" & _
  146.             "Trusted Connection=True;Initial Catalog=" & vsDatabase & _
  147.             ";Data Source=" & vsServer & ""
  148.     Else
  149.         sDSN = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=" & _
  150.             vsLogin & ";Password=" & vsPwd & ";Initial Catalog=" & vsDatabase & _
  151.             ";Data Source=" & vsServer & ""
  152.     End If
  153.     
  154.     If vbIdentityPK Then
  155.         sOutput = "SET IDENTITY_INSERT " & vsTableName & " ON" & vbNewLine
  156.     Else
  157.         sOutput = ""
  158.     End If
  159.     
  160.     strSql = "insert into " & vsTableName & "("
  161.     RS.
  162.       gTableName & "("NewLine
  163.     Els  RS.
  164.     onL RS.
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.      "Trtion ThRALog tbS.
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.