How Do I Generate Sybase BCP Fmt file?

你离开我真会死。 提交于 2019-12-02 06:20:43

问题


I have a huge database which I want to dump out using BCP and then load it up elsewhere. I have done quite a bit of research on the Sybase version of BCP (being more familiar with the MSSQL one) and I see how to USE an Import file but I can't figure out for the life of me how to create one.

I am currently making my Sybase bcp out files of data like this:

bcp mytester.dbo.XTABLE out XTABLE.bcp -U sa -P mypass -T -n 

and trying to import them back in like this:

bcp mytester.dbo.XTABLE in XTABLE.bcp  -E -n -S Sybase_157 -U sa -P SyAdmin 

Right now, the IN part gives me an error about IDENTITY_INSERT regardless of if the table has an identity or not:

Server Message: Sybase157 - Msg 7756, Level 16, State 1: Cannot use 'SET IDENTITY_INSERT' for table 'mytester.dbo.XTABLE' because the table does not have the identity property.

I have often used the great info on this page for help, but this is the first time i've put in a question, so i humbly request any guidance you all can provide :)


回答1:


In your BCP in, the -E flag tells bcp to take identity column values from the input file. I would try running it without that flag. fmt files in Sybase are a bit finicky, and I would try to avoid if possible. So as long as your schemas are the same between your systems the following command should work:

bcp mytester.dbo.XTABLE in XTABLE.bcp -n -S Sybase_157 -U sa -P SyAdmin 

Also, the -T flag on your bcp out seems odd. I know SQLServer -T is a security setting, but in Sybase it indicates the max size of a text or image column, and is followed by a number..e.g -T 32000 (would be 32Kbytes)

But to answer the question in your title, if you run bcp out interactively (without specifying -c,-n, or -f) it will step through each column, prompting for information. At the end it will ask if you want to create a format file, and allow you to specify the name of the file.

For reference, here is the syntax and available flags: http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc30191.1550/html/utility/X14951.htm

And the chapter in the Utility Guide: http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc30191.1550/html/utility/BABGCCIC.htm



来源:https://stackoverflow.com/questions/19526703/how-do-i-generate-sybase-bcp-fmt-file

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!