2016-02-24 35 views
1

我正在尋找一種實用程序,它可以幫助我在沒有在Sybase中執行BCP輸出的情況下爲任何表格生成格式文件。如何在沒有在SYBASE中執行BCP輸出操作的情況下生成格式文件明確

我瞭解並瞭解通過調用BCP out操作生成Format文件的解決方案。但這種方法的不足之處如下: 1.這是完全手動的,如果我需要爲具有大量列的1600個表格做一個場景,那將是一場噩夢。 2.如果任何表的DDL會改變,那麼保持跟蹤和再生將是一個痛苦。

如果任何人都可以建議/建議我一個解決方案,我可以實現這兩個或任何一個要求,那麼它會緩解我的工作。

感謝 安迪

+0

你絕對需要格式文件嗎?通常使用「-c」很簡單,如果需要,可以將字段分隔符更改爲數據中不存在的字符或字符串。 –

+0

「-c」選項在處理具有250 M數據的表時較慢。 BCP有一個原生格式選項,速度更快,使用格式文件選項進行泡泡會讓我控制選擇需要推入還是推出的內容。我正在進行數據遷移作業和修改Live環境的體系結構,我不能冒險。 – Andy

+0

我明白了。那麼 - 我想我會用perl來讀取syscolumns和systype來生成格式文件。我可以看到這可能是一件苦差事,但我認爲它會起作用。你可能有用戶類型,這會使事情變得複雜一些,但原則上.. –

回答

1

您可以通過使用xp_cmdshell的揭開序幕BCP出生成格式文件自動執行此。您可以從存儲過程調用xp_cmdshell,以便可以爲目錄中的每個表執行它。 但正如這裏所提到的,你真的需要所有這些格式文件嗎?

相關問題