利用 Excel/Access 內建 VBA 與 ADO 物件,透過 MyODBC 連線將 SQL Server 7.0 資料轉入 MySQL。適合一次性遷移或定期同步小資料量。
Sub ConnectMySQL()
Dim cnMSSQL As New ADODB.Connection, cnMySQL As New ADODB.Connection
Dim rs As New ADODB.Recordset
' 連接 MySQL
cnMySQL.Open "DSN=mysql1"
' 連接 SQL Server 7.0
cnMSSQL.Open "Provider=SQLOLEDB.1;User ID=sa;Password=123456;Initial Catalog=softdown;Data Source=ntserver"
' 讀取來源資料
rs.Open "SELECT * FROM softinfo ORDER BY softnum", cnMSSQL, adOpenStatic, adLockReadOnly
' 逐筆寫入 MySQL(略)
' 建議改用批次 INSERT 或 ADO Command 提升效能
End Sub
現代建議:大量資料遷移請使用專業 ETL 工具(SSIS、Data Factory、sqldump + load data),VBA 適合輕量級臨時需求。