如何自动发布MS SQL SERVER数据库?

发表于:2007-07-02来源:作者:点击数: 标签:
@#程序编写: 陈林茂 ‘编写日期:2003-01-01 当您的 MI S系统 开发 好以后,您如何尽快的分发您的 数据库 呢? 下面我将提供 VB 代码的具体实现: Option Explicit @#define the sql connect Dim o SQL Server As SQLDMO.SQLServer Dim oCurrentDB As SQLDM

 

@#程序编写: 陈林茂

‘编写日期: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

原文转自:http://www.ltesting.net