BCP导入txt文本到SQL数据库: 如何跳过自增长表列? 应该直接用BCP -E就可以解决的如果不行:一、把数据库那个字段改成整型(非自增) 二、导入前把ID去掉 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我是程序员,数据库表不是我建的。和他们商量他们不让删掉ID,他的ID要唯一改非自增的话保证唯一很麻烦。 bcp "[Test].[dbo].[w_PlayerConnGameInfo_2008_2]" in "D:\PlayInfo.txt" -f "D:\PlayInfo.fmt" -S "192.168.1.129" -U "Admin" -P "Admin" 这个是导入的命令。-E参数是怎么解决的能具体说下吗? 以下摘自MSDN:-E指定导入的数据文件中的标识值用于标识列。如果不指定 -E,则将忽略被导入的数据文件中此列的标识值,而且 SQL Server 2005 将根据创建表期间指定的种子值和增量值自动分配唯一值。 假如数据文件不包含表或视图中的标识列的值,则可在格式文件指定,在导入数据时忽略表或视图中的标识列;SQL Server 2005 将自动为该列分配唯一值。有关详细信息,请参阅 DBCC CHECKIDENT (Transact-SQL)。-E 选项有一个特殊的权限要求。有关详细信息,请参阅本主题后面的“备注”。 bcp "[Test].[dbo].[w_PlayerConnGameInfo_2008_2]" in "D:\PlayInfo.txt" -f "D:\PlayInfo.fmt" -S "192.168.1.129" -U "Admin" -P "Admin" -E结果报:在BCP文件中遇到意外的EOF 如果我把要入库的日志文件加上ID号:1 1 0.0.0.0 0 0.0.0.0 2008-1-29 19:16:43.132 2008-1-29 19:18:15.123 192.168.1.6 00-E0-A0-05-B8-FA 1 2008-2-3 17:12:26.312在导入时报错:对以造型说明无效的字符值。不知道你是怎么用的 我把fmt文件改这样9.0 10 1 SQLCHAR 0 0 "" 0 ID "" 2 SQLCHAR 0 12 "\t" 2 GameID "" 3 SQLCHAR 0 100 "\t" 3 GameEdition Chinese_PRC_CI_AS 4 SQLCHAR 0 12 "\t" 4 PlayerArea "" 5 SQLCHAR 0 100 "\t" 5 SDKEdition Chinese_PRC_CI_AS 6 SQLCHAR 0 100 "\t" 6 ConnStartDate Chinese_PRC_CI_AS 7 SQLCHAR 0 100 "\t" 7 ConnEndDate Chinese_PRC_CI_AS 8 SQLCHAR 0 100 "\t" 8 Ip Chinese_PRC_CI_AS 9 SQLCHAR 0 200 "\t" 9 MACAddress Chinese_PRC_CI_AS 10 SQLCHAR 0 20 "\t" 10 Chn Chinese_PRC_CI_AS 11 SQLCHAR 0 100 "\r\n" 11 AddDate 在bcp "[Test].[dbo].[w_PlayerConnGameInfo_2008_2]" in "D:\PlayInfo.txt" -f "D:\PlayInfo.fmt" -S "192.168.1.129" -U "Admin" -P "Admin" -E 报错:无效的描述符索引 D:\PlayInfo.txt文件内容就是:1 0.0.0.0 0 0.0.0.0 2008-1-29 19:16:43.132 2008-1-29 19:18:15.123 192.168.1.6 00-E0-A0-05-B8-FA 1 2008-2-3 17:12:26.312 那个日志文件只有10列,改ID的话有2个缺点:1 日志文件需要增加到11列2 ID的唯一性不好保证 难道CSDN真没有高手?100分都没有人要 使用备份,还原到“新数据库” 数据库的封存怎么搞? 请教如何把下面的数量 和 单位 区分开 ? table格式转换 100分 小弟愚钝,望高手解答!!!!!!!!!!!!! ReplData里面的历史快照不自动清除 对上午问题的扩充,请指教,谢谢 关于SSIS内存使用的一些疑问 不好意思:DBMS_OUTPUT.PUT_LINE的用法! 快快帮忙分析解决!!!! sqlserver2000,我设置主键字段了,但是怎么我用存储过程竟然能插入空值呢? 如何在SQL server中创建excel表并导出
-E
指定导入的数据文件中的标识值用于标识列。如果不指定 -E,则将忽略被导入的数据文件中此列的标识值,而且 SQL Server 2005 将根据创建表期间指定的种子值和增量值自动分配唯一值。 假如数据文件不包含表或视图中的标识列的值,则可在格式文件指定,在导入数据时忽略表或视图中的标识列;SQL Server 2005 将自动为该列分配唯一值。有关详细信息,请参阅 DBCC CHECKIDENT (Transact-SQL)。-E 选项有一个特殊的权限要求。有关详细信息,请参阅本主题后面的“备注”。
结果报:在BCP文件中遇到意外的EOF
如果我把要入库的日志文件加上ID号:
1 1 0.0.0.0 0 0.0.0.0 2008-1-29 19:16:43.132 2008-1-29 19:18:15.123 192.168.1.6 00-E0-A0-05-B8-FA 1 2008-2-3 17:12:26.312
在导入时报错:
对以造型说明无效的字符值。
不知道你是怎么用的
9.0
10
1 SQLCHAR 0 0 "" 0 ID ""
2 SQLCHAR 0 12 "\t" 2 GameID ""
3 SQLCHAR 0 100 "\t" 3 GameEdition Chinese_PRC_CI_AS
4 SQLCHAR 0 12 "\t" 4 PlayerArea ""
5 SQLCHAR 0 100 "\t" 5 SDKEdition Chinese_PRC_CI_AS
6 SQLCHAR 0 100 "\t" 6 ConnStartDate Chinese_PRC_CI_AS
7 SQLCHAR 0 100 "\t" 7 ConnEndDate Chinese_PRC_CI_AS
8 SQLCHAR 0 100 "\t" 8 Ip Chinese_PRC_CI_AS
9 SQLCHAR 0 200 "\t" 9 MACAddress Chinese_PRC_CI_AS
10 SQLCHAR 0 20 "\t" 10 Chn Chinese_PRC_CI_AS
11 SQLCHAR 0 100 "\r\n" 11 AddDate
在bcp "[Test].[dbo].[w_PlayerConnGameInfo_2008_2]" in "D:\PlayInfo.txt" -f "D:\PlayInfo.fmt" -S "192.168.1.129" -U "Admin" -P "Admin" -E 报错:无效的描述符索引
1 0.0.0.0 0 0.0.0.0 2008-1-29 19:16:43.132 2008-1-29 19:18:15.123 192.168.1.6 00-E0-A0-05-B8-FA 1 2008-2-3 17:12:26.312
1 日志文件需要增加到11列
2 ID的唯一性不好保证