使用SQL DTS功能实现从DB/2向SQL Server传输数据
生活随笔
收集整理的這篇文章主要介紹了
使用SQL DTS功能实现从DB/2向SQL Server传输数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言】
經過自行測試SQL2000?DTS功能,感覺通過DTS工具從DB/2取數來得很方便、容易實現。現將實施步驟貼出來,以供參考。
【環境】
IBM?AS/400e、OS/400、DB/2、?ERP?
IBM?PC?SERVER、WIN2000?SERVER、?SQL2000
【標題】
《如何使用SQL2000??DTS功能實現從DB/2向SQL?Server傳輸數據?》
下面以LIU/EXECTL(EXECTL)的PF為例,圖文并茂進行闡述:
1。首先在Win2000?Server平臺安裝Client?Access/400,并確認ODBC中有“Client?Access?ODBC?Driver(32-bit)”驅動:
[?本帖最后由?qingzhou?于?2006-5-17?11:12?編輯?]
?qingzhou 回復于:2004-06-15 16:44:12
2。在Win2000?Server平臺安裝SQL2000中文標準版,保證SQL服務器管理器相關服務啟動后,執行“導入和導出數據”:
?qingzhou 回復于:2004-06-15 16:45:39
3。出現“DTS導入/導出向導”界面,下一步:
?qingzhou 回復于:2004-06-15 16:47:10
4。在數據源中選取“Client?Access?ODBC?Driver(32-bit)”驅動,同時新建“用戶/系統DSN”:
?qingzhou 回復于:2004-06-15 16:49:15
5。建立系統數據源:
?qingzhou 回復于:2004-06-15 16:51:13
6。選擇“Client?Access?ODBC?Driver(32-bit)”作為數據源驅動程序:
?qingzhou 回復于:2004-06-15 16:55:02
7。點擊完成:
?qingzhou 回復于:2004-06-15 16:56:02
8。在彈出的配置窗口中輸入“數據源名”和選取系統IP地址(即:AS/400?ip?address),同時建議將“SQL缺省庫”指定為要操作的庫,確定退出當前窗口:
?qingzhou 回復于:2004-06-15 17:03:59
9。然后直接在“用戶/系統DSN”欄輸入剛才創建的名稱,如:EXECTL,并在下面欄輸入登陸AS/400的user?profile和password(具備足夠權限),下一步:
?qingzhou 回復于:2004-06-15 17:07:19
10。“目的”欄選擇“用于SQL?Server的Microsoft?OLE?DB提供程序”,下面的“數據庫”自行新建一個,如:AS400_Date:
?qingzhou 回復于:2004-06-15 17:09:09
11。指定表的處理類型,此處為“從源數據庫復制表和視圖”:
?qingzhou 回復于:2004-06-15 17:11:09
12。接著選擇要處理的在OS/400上的PF,如:LIU/EXECTL:
?qingzhou 回復于:2004-06-15 17:14:04
13。設置好調度DTS包的時間、執行頻率以及保存事項:
?qingzhou 回復于:2004-06-15 17:15:37
14。并給DTS包命名,如:test
?qingzhou 回復于:2004-06-15 17:16:56
15。出現配置摘要,確認無誤后點完成:
?qingzhou 回復于:2004-06-15 17:18:31
16。如果上面13步驟“時間”—立即運行,將出現立即運行畫面,完成后結果如下:
?qingzhou 回復于:2004-06-15 17:20:22
17。啟動SQL“企業管理器”,在“數據轉換服務—本地包”中將出現剛才成功創建的DTS包—test:
?qingzhou 回復于:2004-06-15 17:21:49
18。雙擊test?DTS包可以出現下圖編輯畫面:
?qingzhou 回復于:2004-06-15 17:23:17
19。同時在AS400_Date的表中出現EXECTL的表,進行查詢操作查看內容:
?qingzhou 回復于:2004-06-15 17:25:51
20。在下表中可以清楚看到EXECTL的各個字段和記錄,至此整個從DB/2→SQL2000數據傳輸工作全面完成。
?xuguopeng 回復于:2004-06-15 18:02:39
哈哈?第一個頂?這么快就完成了
?mamei 回復于:2004-06-15 18:15:21
呵呵!
這就是取數據,還要做一些相應的處理!
?qingzhou 回復于:2004-06-15 18:23:22
是的,現在是盡量要求客戶端軟件的后臺數據庫用這個導出數據,這樣工作量就會小些。
或者修正企業的ERP生產系統,讓PF文件盡量滿足客戶端軟件的后臺接口要求。
解決了取數問題,而且實現了“類似實時”取數功能,所以其它問題解決起來相對簡單了。
?mamei 回復于:2004-06-15 18:27:58
我現在正在用ACCESS來取數據!
取實時的數據不太好處理!
?mamei 回復于:2004-06-15 18:32:13
以前還想用ORACLE來實現這個功能!
可惜不懂ORACLE!
?qingzhou 回復于:2004-06-15 18:33:44
引用:原帖由?"mamei"?發表:
我現在正在用ACCESS來取數據!
取實時的數據不太好處理!
"實時"我覺得只是相對問題而言,如果要求很嚴格,那就要采用觸發器的功能了,但這樣實施起來不僅增加難度,而且會有所降低系統的性能。
ACCESS本身數據庫受限制,不支持超過2G的數據,可以考慮用用SQL或者ORACLE。
?wildfish 回復于:2004-06-16 11:42:22
老大,如果數據量大的確很恐怖。這樣機器負載也會相應的增加。
[url]http://www.microsoft.com/china/technet/prodtechnol/sql/2000/deploy/dtssql2k.mspx[/url]
建議老大看看dts編程的,看看能否增量的下傳數據,呵呵,我知道可以,但是沒時間看,所以還是把難題留給老大解決。
?ibmas400 回復于:2004-06-16 15:42:06
qingzhou真是好心人啊。。。
難得。
?kimdai 回復于:2004-06-17 11:35:47
辛苦啊,看看如何自動增量的導入更有價值
?qingzhou 回復于:2004-06-17 15:04:59
引用:原帖由?"wildfish"?發表:
老大,如果數據量大的確很恐怖。這樣機器負載也會相應的增加。
[url]http://www.microsoft.com/china/technet/prodtechnol/sql/2000/deploy/dtssql2k.mspx[/url]
建議老大看看dts編程的,看看能否增量的下傳數據,呵呵,我知?.........
通過SQL2000要訪問OS/400上的PF就那么幾個,所以不存在數據量很大的問題。
我仔細看DTS包Design窗口,發覺倒是有“大容量插入任務”功能,此功能可以提高訪問大容量數據的效率。
?mamei 回復于:2004-06-17 18:22:31
引用:原帖由?"qingzhou"]12。接著選擇要處理的在OS/400上的PF,如:LIU/EXECTL:
?發表:
我做到這步就出錯!!!
?mamei 回復于:2004-06-17 18:25:13
如果在這里選第二項,
就不會報錯!!!
經過自行測試SQL2000?DTS功能,感覺通過DTS工具從DB/2取數來得很方便、容易實現。現將實施步驟貼出來,以供參考。
【環境】
IBM?AS/400e、OS/400、DB/2、?ERP?
IBM?PC?SERVER、WIN2000?SERVER、?SQL2000
【標題】
《如何使用SQL2000??DTS功能實現從DB/2向SQL?Server傳輸數據?》
下面以LIU/EXECTL(EXECTL)的PF為例,圖文并茂進行闡述:
1。首先在Win2000?Server平臺安裝Client?Access/400,并確認ODBC中有“Client?Access?ODBC?Driver(32-bit)”驅動:
[?本帖最后由?qingzhou?于?2006-5-17?11:12?編輯?]
| | |
?qingzhou 回復于:2004-06-15 16:44:12
2。在Win2000?Server平臺安裝SQL2000中文標準版,保證SQL服務器管理器相關服務啟動后,執行“導入和導出數據”:
| | |
?qingzhou 回復于:2004-06-15 16:45:39
3。出現“DTS導入/導出向導”界面,下一步:
| | |
?qingzhou 回復于:2004-06-15 16:47:10
4。在數據源中選取“Client?Access?ODBC?Driver(32-bit)”驅動,同時新建“用戶/系統DSN”:
| | |
?qingzhou 回復于:2004-06-15 16:49:15
5。建立系統數據源:
| | |
?qingzhou 回復于:2004-06-15 16:51:13
6。選擇“Client?Access?ODBC?Driver(32-bit)”作為數據源驅動程序:
| | |
?qingzhou 回復于:2004-06-15 16:55:02
7。點擊完成:
| | |
?qingzhou 回復于:2004-06-15 16:56:02
8。在彈出的配置窗口中輸入“數據源名”和選取系統IP地址(即:AS/400?ip?address),同時建議將“SQL缺省庫”指定為要操作的庫,確定退出當前窗口:
| | |
| | |
?qingzhou 回復于:2004-06-15 17:03:59
9。然后直接在“用戶/系統DSN”欄輸入剛才創建的名稱,如:EXECTL,并在下面欄輸入登陸AS/400的user?profile和password(具備足夠權限),下一步:
| | |
?qingzhou 回復于:2004-06-15 17:07:19
10。“目的”欄選擇“用于SQL?Server的Microsoft?OLE?DB提供程序”,下面的“數據庫”自行新建一個,如:AS400_Date:
| | |
?qingzhou 回復于:2004-06-15 17:09:09
11。指定表的處理類型,此處為“從源數據庫復制表和視圖”:
| | |
?qingzhou 回復于:2004-06-15 17:11:09
12。接著選擇要處理的在OS/400上的PF,如:LIU/EXECTL:
| | |
?qingzhou 回復于:2004-06-15 17:14:04
13。設置好調度DTS包的時間、執行頻率以及保存事項:
| | |
| | |
?qingzhou 回復于:2004-06-15 17:15:37
14。并給DTS包命名,如:test
| | |
?qingzhou 回復于:2004-06-15 17:16:56
15。出現配置摘要,確認無誤后點完成:
| | |
?qingzhou 回復于:2004-06-15 17:18:31
16。如果上面13步驟“時間”—立即運行,將出現立即運行畫面,完成后結果如下:
| | |
?qingzhou 回復于:2004-06-15 17:20:22
17。啟動SQL“企業管理器”,在“數據轉換服務—本地包”中將出現剛才成功創建的DTS包—test:
| | |
?qingzhou 回復于:2004-06-15 17:21:49
18。雙擊test?DTS包可以出現下圖編輯畫面:
| | |
?qingzhou 回復于:2004-06-15 17:23:17
19。同時在AS400_Date的表中出現EXECTL的表,進行查詢操作查看內容:
| | |
?qingzhou 回復于:2004-06-15 17:25:51
20。在下表中可以清楚看到EXECTL的各個字段和記錄,至此整個從DB/2→SQL2000數據傳輸工作全面完成。
| | |
?xuguopeng 回復于:2004-06-15 18:02:39
哈哈?第一個頂?這么快就完成了
?mamei 回復于:2004-06-15 18:15:21
呵呵!
這就是取數據,還要做一些相應的處理!
?qingzhou 回復于:2004-06-15 18:23:22
是的,現在是盡量要求客戶端軟件的后臺數據庫用這個導出數據,這樣工作量就會小些。
或者修正企業的ERP生產系統,讓PF文件盡量滿足客戶端軟件的后臺接口要求。
解決了取數問題,而且實現了“類似實時”取數功能,所以其它問題解決起來相對簡單了。
?mamei 回復于:2004-06-15 18:27:58
我現在正在用ACCESS來取數據!
取實時的數據不太好處理!
?mamei 回復于:2004-06-15 18:32:13
以前還想用ORACLE來實現這個功能!
可惜不懂ORACLE!
?qingzhou 回復于:2004-06-15 18:33:44
引用:原帖由?"mamei"?發表:
我現在正在用ACCESS來取數據!
取實時的數據不太好處理!
"實時"我覺得只是相對問題而言,如果要求很嚴格,那就要采用觸發器的功能了,但這樣實施起來不僅增加難度,而且會有所降低系統的性能。
ACCESS本身數據庫受限制,不支持超過2G的數據,可以考慮用用SQL或者ORACLE。
?wildfish 回復于:2004-06-16 11:42:22
老大,如果數據量大的確很恐怖。這樣機器負載也會相應的增加。
[url]http://www.microsoft.com/china/technet/prodtechnol/sql/2000/deploy/dtssql2k.mspx[/url]
建議老大看看dts編程的,看看能否增量的下傳數據,呵呵,我知道可以,但是沒時間看,所以還是把難題留給老大解決。
?ibmas400 回復于:2004-06-16 15:42:06
qingzhou真是好心人啊。。。
難得。
?kimdai 回復于:2004-06-17 11:35:47
辛苦啊,看看如何自動增量的導入更有價值
?qingzhou 回復于:2004-06-17 15:04:59
引用:原帖由?"wildfish"?發表:
老大,如果數據量大的確很恐怖。這樣機器負載也會相應的增加。
[url]http://www.microsoft.com/china/technet/prodtechnol/sql/2000/deploy/dtssql2k.mspx[/url]
建議老大看看dts編程的,看看能否增量的下傳數據,呵呵,我知?.........
通過SQL2000要訪問OS/400上的PF就那么幾個,所以不存在數據量很大的問題。
我仔細看DTS包Design窗口,發覺倒是有“大容量插入任務”功能,此功能可以提高訪問大容量數據的效率。
| | |
?mamei 回復于:2004-06-17 18:22:31
引用:原帖由?"qingzhou"]12。接著選擇要處理的在OS/400上的PF,如:LIU/EXECTL:
?發表:
我做到這步就出錯!!!
| | |
?mamei 回復于:2004-06-17 18:25:13
如果在這里選第二項,
就不會報錯!!!
| | |
轉載于:https://blog.51cto.com/botao/69804
總結
以上是生活随笔為你收集整理的使用SQL DTS功能实现从DB/2向SQL Server传输数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript面向对象编程笔记
- 下一篇: 永动机之永动机的客观存在