2012-05-16 25 views
1

進出口尋找一些表從一個SYBASE的服務器(ASE 12.5)複製到另一臺最快的方式。目前我使用bcp工具,但它需要時間來創建適當的bcp.fmt文件。最快的方式從一臺服務器複製表contet到另一個

表具有相同的結構。每張桌子大約有25K行。我必須複製大約40張桌子。 我tryed使用-c參數BCP,但我得到的錯誤,同時導入:

CSLIB Message: - L0/O0/S0/N24/1/0: 
cs_convert: cslib user api layer: common library error: The conversion/operation 
was stopped due to a syntax error in the source field. 

我的標準BCP /縮小命令:

bcp.exe SPEPL..VSoftSent out VSoftSent.csv -U%user% -P%pass% -S%srv% -c 
bcp.exe SPEPL..VSoftSent in VSoftSent.csv -U%user2% -P%pass2% -S%srv2% -e import.err -c 

回答

0

因爲你是從不同的服務器複製,BCP是要走的路!

如果是在同一臺服務器會有所不同。

+0

是的,我確定BCP是正確的工具,但BCP在文件中創建conversaition錯誤只是BCP驅趕出局。服務器似乎具有相同的配置。我認爲問題出現在datetime格式化中。是否有任何技巧強制bcp使用文件中的自定義格式化? –

+0

@JarekBielicki我做了一個簡短的搜索,我沒有找到任何:(但我真的不知道。 –

0

你是說從1臺Sybase ASE的主機的另一個Sybase ASE的主機?

如果您不想在文件系統上混淆BCP或I/O,則可以在您的目標數據庫中創建一個CIS代理表,以便在您的目標數據庫中引用具有select語句或物理表的存儲過程源數據庫。

然後你可以只 插入destinationTable會(COL1,COL2 ...) 選擇 COL1,COL2 ... 從proxytablename

CIS代理相當資源密集型的,所以我會非常小心你在這裏做了多少工作。

相關問題