程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server 7.0 的數據遷移到MySQL上的一種方法

SQL Server 7.0 的數據遷移到MySQL上的一種方法

編輯:關於SqlServer
想必大家都很喜歡用Word打字,用Excel進行計算和規劃,用PowerPoint作幻燈片進行展示…,但是這只用到了Office系列產品的很少的一部分功能。據調查,絕大部分用戶只用到了Office產品的20%的功能,很少有人注意到Visual Basic for Application。實際上,熟悉掌握VBA的功能可以使你的工作事半功倍,尤其對會計、金融等專業來說,作出一套好的宏,幾乎可以作到一勞永逸!最近,AutoCAD中也加入了VBA的功能,這不能不說這是一個趨勢!
VBA的功能決不只是讓病毒制造者用來制造麻煩的,VBA能被用來制造病毒的同時也正說明了其功能的強大與易用!利用ADO對象,可以很方便的進行數據庫操作!下面就是一個簡單的數據交換的例子:
由於ADO對象不直接支持MySQL,所以必須先安裝MyODBC, 後者也是一個免費產品,在www.mysql.org上有下載,安裝好了MyODBC, 就可以在ODBC數據源管理中配置一個數據源名稱,把它指向你想連接的MySQL數據庫。代碼如下:

Sub connectMySQL()
'通過MyODBC去連接MySQL數據庫,並將Microsoft SQL Server 7
'的數據轉進MySQL中
Dim sConnect As String, sSql As String, i As Long
Dim cnMSSQL As New ADODB.Connection
Dim cnMySQL As New ADODB.Connection
'聲明並創建對象 連接
Dim rs As New ADODB.Recordset '聲明並創建對象 記錄集
Dim cm As New ADODB.Command '聲明並創建對象 命令

sConnect = "dsn=mysql1" '指定MySQL的數據源名稱
cnMySQL.Open sConnect '連接到 MySQL

sConnect="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;pwd=123456;Initial Catalog=softdown;Data Source=ntserver"
'連接到 ms SQL Server 7
cnMSSQL.Open sConnect

'sSql = "create table softinfo (softNum smallint,softname varchar(70),softdesc blob," & _
"soFTPath varchar(30),softleng varchar(10),softclass varchar(10),softsugest tinyint(1)," & _
"softdown smallint(4))" '創建新的MySQL數據表語句
sSql = "select * from softinfo order by softnum"
rs.Open sSql, cnMSSQL, 1, 1

While Not rs.EOF
sSql = "insert into softinfo values (" & Trim(rs(0).Value) & ",'" & Trim(rs(1).Value) & _
"','" & Trim(rs(2).Value) & "','" & Trim(rs(3).Value) & "','" & Trim(rs(4).Value) & _
"'

'" & Trim(rs(5).Value) & "'," & Trim(rs(6).Value) & "," & Trim(rs(7).Value) & ")"

cm.ActiveConnection = cnMySQL
cm.CommandType = adCmdText
cm.CommandText = sSql
cm.Execute

rs.MoveNext
Wend

rs.Close
Set rs = Nothing

cnMySQL.Close
Set cnMySQL = Nothing

cnMSSQL.Close
Set cnMSSQL = Nothing

End Sub

好了,想必大家對VBA有所了解了,同樣,如果要在工作表中引用MySQL中的數據也是同樣的簡單,一旦宏作好了,想生成報表的話,用戶要作的工作只是點一下鼠標就行了,利用Excel進行二次開發,效率可以超過任何用戶自行開發的報表系統,因為我們站在Microsoft這個巨人的肩膀上!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved