首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sqlserver2000和2008,BCP和BULK INSERT的有关问题

2012-03-28 
sqlserver2000和2008,BCP和BULK INSERT的问题BCP TEST_TABLE format nul-f TEST_TABLE.FMT-c -t^A-T(这

sqlserver2000和2008,BCP和BULK INSERT的问题
BCP TEST_TABLE format nul -f TEST_TABLE.FMT -c -t"^A" -T (这里^A在UE编辑器中显示为一个小方框,这里显示不出来,故用^A代替)
BCP "SELECT * FROM TEST_TABLE" queryout TEST_TABLE.txt -f"TEST_TABLE.FMT" -E -T
该语句在SQLSERVER 2000和2008都导出正常,数据也是正常的

随后清空TEST_TABLE,将文件导入
BULK INSERT TEST_TABLE FROM 'TEST_TABLE.txt' WITH ( FORMATFILE = 'TEST_TABLE.FMT',CHECK_CONSTRAINTS,KEEPNULLS,KEEPIDENTITY )

问题出在这里在SQLSERVER 2000导入正常 2008 导入失败(用bcp in也一样)
随即在sqlserver2008中导出语句format文件中的-t"^A"用-t"ā"代替 直接报错,貌似2008不支持某些字符集的字符,请问如果我要用一个特殊的字符作为字段分隔符,最好用什么?(因为表中有备注字段,",","|"都有可能出现,不能用该字符作为字段分隔符,不然会影响文件的导入,故想用一个键盘上无法输入或者非常冷门的字符)

[解决办法]
你在前面加个大写的N试试.
-tN"^A"

热点排行
Bad Request.