这个用开发语言(如Java,C)解决会比较好。
SQL语言不是做这个用的。

解决方案 »

  1.   

    1。建立一个只有一个数据项F CHAR(60)的表TEMPT;
    2。用PB的DATAWINDOW功能可以将此文本文件导入到表TEMPT中;
    3。在用SQL语句将TEMPT数据插入到现在的表中TABLENAME:
    INSERT TABLENAME (F1,F2,F3,F4)
    SELECT LEFT(F,10),SUBSTRING(F,11,15),SUBSTRING(F,26,20),RIGHT(F,15) FROM TEMPT
      

  2.   

    用DTS可以实现,速度我不知道,因为我没有2G的文本文件。
      

  3.   

    用bulk insert命令吧。一般来说,bulk insert性能优于BCP,BCP优于DTS, DTS是最慢的一种。用bulk insert有些性能上要加些调整,使得性能最好。比如,加表级锁、排序数据文件、指定无日志方式、先删除表中的记录及索引及触发器后再复制,等等。具体的看SQL帮助里的“优化大容量复制”。
      

  4.   

    谢谢各位,我很想用bulk insert 但是不知如何使用,能给个例子吗?
      

  5.   

    Bulk insert 到一个临时表,然后:
    INSERT TABLENAME (F1,F2,F3,F4)
    SELECT LEFT(F,10),SUBSTRING(F,11,15),SUBSTRING(F,26,20),RIGHT(F,15) FROM TEMPT
      

  6.   

    非常感谢大家,CrazyFor(Fan)的方法试了一下效果.还不错谢谢大家.