最近接到個任務剛好有這個需要,在SQL 2000時代,需透過Client Access(IBM iSeries Access for Windows)去轉的,然後還要設定odbc,是很麻煩的,在SQL 2005呢?原本是藉由資料通轉入SQL Server的,因為用Client Access我們沒人會啊,後來問我們400的管理人員,才知道原來資料通也是透過Client Access去轉的,那表示我應該可以直接用Client Access去轉啊,不用透過資料通,效能應該會好點,因為原本透過資料通,光轉一百五十萬筆就得花1小時了,那我這次任務,得轉四千多萬筆,那不是得轉好多天啊!所以我得去研究這個我們目前沒人會的東東,皇天不付苦心人,上網搜尋好多天,終於實作出來了,四千多萬筆花不到6小時後,已經快很多吧!不過此篇我不先介紹步驟,下篇再介紹,我先介紹Client Access裡面所提供的三個OLE DB providers的差別,這我也找很久說,最後從IBM Redbooks裡面找到的,我直接把我認為的重點轉貼出來好了,如有人認為不妥,我再刪掉好囉
The V5R3 release of iSeries Access for Windows includes three OLE DB providers:
- New SQL-only provider (IBMDASQL) that supports SQL Commitment Control and MTS.
- New RLA-only provider (IBMDARLA) that supports true record blocking and forward-only cursors for record level access.
- The IBMDA400 provider, which supports SQL statements, record level access, remote command and program call, and data queues. It does not support Commitment Control for SQL commands, and does not support MTS.
那紅皮書裡面還有講一些限制喔,各位可以參考參考
另外也許有人會問IBMDA400與IBMDASQL使用上速度有何差別?我個人反覆實測傳輸223,167筆資料下,兩個速度差異不大,只差數秒間,差一秒有差嗎?我個人覺得沒差囉
0 意見:
張貼留言