Sybase使用BCP命令导入数据,Identity属性主键的处理

 程序定时使用BCP命令到处需要备份的表数据。在测试导入时,发现Identity属性的主键值会递增。这样会导致引用它的外键约束失效。

   使用  SET IDENTITY_INSERT [ database.[ owner.] ] { table } { ON | OFF } 可以解决问题。但任何时候,会话中只有一个表的 IDENTITY_INSERT 属性可以设置为 ON。如果某个表已将此属性设置为 ON,并且为另一个表发出了 SET IDENTITY_INSERT ON 语句,则会返回一个错误信息,指出 SET IDENTITY_INSERT 已设置为 ON 并报告此属性已设置为 ON 的表。 这样用户如果使用bcp in 命令来恢复数据库会太麻烦了。

   后面发现bcp命令加一个 -E参数,导入即可以自动使用SET IDENTITY_INSERT ON | OFF,很方便。

bcp 数据库名.所有者.tableName in /filePath/file.txt - Usa -Ppassword -SserverName -c -E
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值