如何自動發布MS SQL SERVER資料庫?

來源:互聯網
上載者:User
server|資料|資料庫
 

'程式編寫: 陳林茂

‘編寫日期:2003-01-01

當您的MIS系統開發好以後,您如何儘快的分發您的資料庫呢?

下面我將提供VB代碼的具體實現:

Option Explicit


'define the sql connect
Dim oSQLServer As SQLDMO.SQLServer
Dim oCurrentDB As SQLDMO.Database
Dim oCurrentTable As SQLDMO.Table
Dim oTestIdx As SQLDMO.Index

'sqlDmo is Connected Yes or No
Public sName As String
Private IsConnected As Boolean

'connect to local database server
Public Function ConnectDmo() As Boolean
   On Error GoTo HandleError
   'If we're connected, then disconnect and clear lists.
   If IsConnected = True Then
        oSQLServer.DisConnect
        IsConnected = False
   End If
   'Begin connect to sqlserver or msde
   'Attempt a connection, then fill the properties stuff.
    oSQLServer.ApplicationName = "SQL-DMO Index Test"
    oSQLServer.LoginSecure = True
   
    'connect
    oSQLServer.Connect "(local)", "sa", ""
   
    IsConnected = True
    ConnectDmo = True
  
HandleError:
    'connect failth
    If IsConnected = False Then
      IsConnected = False
      ConnectDmo = False
    End If
   
End Function

'add a exists database to server
Public Function AddDataBase(ByVal dbName As String, ByVal DBPath As String, ByVal rstr As String) As Boolean
   Dim rstring
   'rstring = oSQLServer.AttachDBWithSingleFile(dbName, DBPath)
   rstring = oSQLServer.AttachDB(dbName, DBPath)
   AddDataBase = True
  
  
   rstr = rstring
End Function

'delete the exists database
Public Function DelDataBase(ByVal dbName As String) As Boolean
  Dim rstring
  rstring = oSQLServer.DetachDB(dbName)
  DelDataBase = True
End Function

Private Sub UserControl_Initialize()
  On Error GoTo merror
    Set oSQLServer = New SQLDMO.SQLServer
    oSQLServer.LoginTimeout = 15
    oSQLServer.ODBCPrefix = False
    Name = "msdeconn1"
merror:
End Sub

Public Function isDBexists(ByVal dbName As String) As Boolean
  Dim oDB As SQLDMO.Database
  Dim rc As Boolean
  'reconnect to database
  oSQLServer.DisConnect
  oSQLServer.ReConnect
 
  rc = False
  For Each oDB In oSQLServer.Databases
    If oDB.SystemObject = False Then
        If Trim(UCase(oDB.Name)) = Trim(UCase(dbName)) Then
          rc = True
        End If
    End If
  Next oDB
 
  'set the return value
  isDBexists = rc
 
End Function

Private Sub UserControl_Terminate()
  'end connect the database
  oSQLServer.Close
End Sub

Public Function startServer()
  oSQLServer.Start True
End Function

Public Sub stopserver()
  oSQLServer.Stop
End Sub

 

Public Property Get Name() As Variant
  Name = sName
End Property

Public Property Let Name(ByVal vNewValue As Variant)
  sName = vNewValue

End Property



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.