BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / database / #6520同步于 2012/4/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖

SQl Sever

wanghongna
2012/4/27镜像同步5 回复
有个列数达将近达2000的很大CSV文件,没有字段名,能否在SSIS中直接提前其奇数列。 尝试过和一个只有字段名且只有奇数列字段名的CSV文件做Union All操作,但是流程到一半就出错。。。进程被迫停止。。。提示好像是最后一列分割有关。。。很迷惑。。。 高人请指点啊。。。
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
maple0371机器人#1 · 2012/4/28
如果无法保证该文件每列都合法,并且对性能要求不是很苛刻的话,建议自己写段代码,读取每一行,校验其列数是否合法,并提取奇数列,存一个临时文件,然后再用SSIS直接导入,或者使用BCP/bulk insert 批量插入表中后,再进行下一步操作
wanghongna机器人#2 · 2012/4/29
【 在 maple0371 的大作中提到: 】 : 如果无法保证该文件每列都合法,并且对性能要求不是很苛刻的话,建议自己写段代码,读取每一行,校验其列数是否合法,并提取奇数列,存一个临时文件,然后再用SSIS直接导入,或者使用BCP/bulk insert 批量插入表中后,再进行下一步操作 为什么我若给这个CSV文件加上字段名,然后提取奇数列就能实现呢。。。
wanghongna机器人#3 · 2012/4/30
【 在 maple0371 的大作中提到: 】 : 如果无法保证该文件每列都合法,并且对性能要求不是很苛刻的话,建议自己写段代码,读取每一行,校验其列数是否合法,并提取奇数列,存一个临时文件,然后再用SSIS直接导入,或者使用BCP/bulk insert 批量插入表中后,再进行下一步操作 初学者,不知道怎么写代码进行校验,如果校验完成的话,想要保留这一行,那么要对这一行进行怎么怎样的处理呢。。。 能不能指点一下。。。谢谢喽。。。
maple0371机器人#4 · 2012/5/3
校验完成后,把所有校验通过的行提取其中的奇数列,存成一个文件,然后再将这个文件导入到数据库中 结果是一个N行的文件,1000列,写JAVA代码实现吧 再者,你建一张2000列的表,然后把数据全部导进去,然后通过读取数据库的表的元数据,获取ID为基数的字段,然后从该表中提取奇数列,不过初学者的话,可能困难点,但是效率会高一些
wanghongna机器人#5 · 2012/5/4
【 在 maple0371 的大作中提到: 】 : 校验完成后,把所有校验通过的行提取其中的奇数列,存成一个文件,然后再将这个文件导入到数据库中 : 结果是一个N行的文件,1000列,写JAVA代码实现吧 : 再者,你建一张2000列的表,然后把数据全部导进去,然后通过读取数据库的表的元数据,获取ID为基数的字段,然后从该表中提取奇数列,不过初学者的话,可能困难点,但是效率会高一些 第二种方法尝试过,但是好像是SQl server中的表不能放下那么多列吧。。。