问题描述:
如下图我在从本地库的一个表导入到历史库的同样(我以为是一样)的表中的时候,报如下错误:无效的描述符索引.导入命令为:
master.dbo.XP_CMDSHELL 'BCP KSSC_HIS..T_BOND_BORROW_STOCK IN C:\test\20150101\KSSC_HIS\KSSC_HIS_T_BOND_BORROW_STOCK_20150101 -f C:\test\20150101\KSSC_HIS\KSSC_HIS_T_BOND_BORROW_STOCK_20150101.FMT -E -k -h"CHECK_CONSTRAINTS" -b5000 -S"10.253.2.45" -U"sa" -P"sa123456"'
问题解决:
经过很长时间的调试我发现原来这两个表的结构并不是完全一样的,历史库那张表中笔本地库表中少一个字段。
结论:
当我们在从文件中用bcp命令向数据库中导入数据的时候,如果发现“无效的描述符索引”这种错的时候,也许我们可以比对一下文件的字段与我们目标表的字段的个数是否一致,源表的数据结构与我们目标表的数据结构是否一致。