首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

快速建構 ERP 系統資料庫框架:自動化部署與 VB.NET 實作範例

     編輯:關於SqlServer

什麼是資料庫框架?

資料庫框架是 ERP、MIS 等資料庫應用的靈魂,包含資料庫、資料表、檢視表、預存程序等結構定義(不含實際業務資料)。開發完成後打包部署,無法將 SQL Server 引擎打包進安裝程式,因此客戶端安裝時必須自動建立框架,否則應用程式無法運行。

主流自動建立框架的三種模式

  1. 精靈引導式:安裝過程中逐步引導使用者建立。
  2. 安裝階段配置式:安裝程式內嵌腳本自動執行。
  3. 首次執行自動建立:主程式啟動時檢查並自動建立(如《管家婆》ERP)。

VB.NET 實作自動建立框架範例

以下程式碼示範透過按鈕點擊依序建立資料庫、資料表、約束、預存程序並顯示資料:

Public Class Form1
    Inherits System.Windows.Forms.Form

    ' 建立資料庫
    Private Sub Button1_Click(...) Handles Button1.Click
        Dim con As New OleDb.OleDbConnection("Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Northwind;Data Source=.;...")
        con.Open()
        Dim cmd As New OleDb.OleDbCommand("CREATE DATABASE jk", con)
        cmd.ExecuteNonQuery()
        con.Close()
    End Sub

    ' 建立資料表
    Private Sub Button2_Click(...) Handles Button2.Click
        Dim con2 As New OleDb.OleDbConnection("...Initial Catalog=jk;...")
        con2.Open()
        Dim cmd As New OleDb.OleDbCommand("CREATE TABLE kk(id INT IDENTITY(1,1) NOT NULL CONSTRAINT pk_id PRIMARY KEY, name CHAR(4) NOT NULL)", con2)
        cmd.ExecuteNonQuery()
        Dim cmd2 As New OleDb.OleDbCommand("CREATE TABLE pp(id INT NOT NULL, ads CHAR(20) NULL)", con2)
        cmd2.ExecuteNonQuery()
        con2.Close()
    End Sub

    ' 建立約束
    Private Sub Button3_Click(...) Handles Button3.Click
        ' ALTER TABLE pp ADD PRIMARY KEY (id)
    End Sub

    ' 建立預存程序
    Private Sub Button4_Click(...) Handles Button4.Click
        ' CREATE PROC procname AS SELECT * FROM kk
    End Sub

    ' 顯示資料
    Private Sub Button5_Click(...) Handles Button5.Click
        ' 使用 OleDbDataAdapter 填充 DataSet 繫結 DataGrid
    End Sub
End Class

實務建議

  • 正式產品應將 DDL 腳本內嵌為資源檔,安裝時一次性執行,避免使用者手動點擊。
  • 使用 SqlConnection 而非 OleDbConnection 以獲得更好效能與功能支援。
  • 包含版本號檢查機制,支援升級腳本增量執行。
  • 交易包裝 DDL 操作,確保原子性(部分 DDL 不支援交易需特別處理)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved