我有个文本文件:
58.47.128.91    58.47.128.91    湖南省益阳市 电信
58.47.128.92    58.47.128.92    湖南省益阳市 过鹿坪大地英雄网络会所
58.47.128.93    58.47.147.255   湖南省益阳市 电信
58.47.148.0     58.47.254.255   湖南省常德市 电信
58.47.255.0     58.47.255.255   湖南省常德市澧县 电信
58.48.0.0       58.48.1.255     湖北省武汉市 (硚口区)电信ADSL
58.48.2.0       58.48.2.255     湖北省武汉市 电信
58.48.3.0       58.48.3.255     湖北省武汉市 (硚口区)电信ADSL
58.48.4.0       58.48.15.255    湖北省武汉市 电信
58.48.16.0      58.48.16.255    湖北省武汉市 (汉阳区)电信ADSL
58.48.17.0      58.48.23.248    湖北省武汉市 电信
58.48.23.249    58.48.23.249    湖北省武汉市 中青网络家园宇光店
58.48.23.250    58.48.26.255    湖北省武汉市 电信
58.48.27.0      58.48.27.255    湖北省武汉市 (江岸区)电信
58.48.28.0      58.48.41.220    湖北省武汉市 电信
58.48.41.221    58.48.41.221    湖北省武汉市 沌口泰合百花园
58.48.41.222    58.48.43.24     湖北省武汉市 电信
58.48.43.25     58.48.43.25     湖北省武汉市汉阳区 博世网吧
58.48.43.26     58.48.43.43     湖北省武汉市 电信
58.48.43.44     58.48.43.44     湖北省武汉市汉阳区 十里铺绿色动力网吧
58.48.43.45     58.48.46.62     湖北省武汉市 电信
58.48.46.63     58.48.46.63     湖北省武汉市 汉阳大道267号求知网吧
58.48.46.64     58.48.46.98     湖北省武汉市 电信
58.48.46.99     58.48.46.99     湖北省武汉市 武汉信息工程学院
58.48.46.100    58.48.46.100    湖北省武汉市汉阳区 冰糖角龙神网吧
我把他分成3列 第一列和第二列16字符 第三列的长度不确定
(注意:不能改变文本文件)
注意:我用导入的时候由于第三列的长度不能确定容易损失数据,怎么才能完整的把记事本里的一行到入到数据库里就是一行呢!~全部分都拿出来了,不懂的不要乱说啊!~ 解决了有分在加!

解决方案 »

  1.   

    需要在你导入的文本文件的目录中建一个名为schema.ini文件
    schema.ini文件的内容
    [你的文件名]  /*例如[test.txt]*/
    ColNameHeader=false  /*用来说明test.txt的第一行是否为数据*/
    Format=TabDelimited   /*指定字段分割符为tab分割符*/
    col1=test1 text width 20  /*指定列名以及列的宽度*/
    col2=test2 text width 20
    col3=test3 text width 200select test1,test2,test3 from openrowset('MICROSOFT.JET.OLEDB.4.0','Text;HDR=YSE;DATABASE=C:\',test#txt)结果:
    /*
    test1              test2             test3
    58.47.128.91 58.47.128.91 湖南省益阳市 电信
    58.47.128.92 58.47.128.92 湖南省益阳市 过鹿坪大地英雄网络会所
    58.47.128.93 58.47.147.255 湖南省益阳市 电信
    58.47.148.0 8.47.254.255 湖南省常德市 电信*/
    注意你的文本文件各列之间必须是以tab分割符分隔的
      

  2.   

    需要在你导入的文本文件的目录中建一个名为schema.ini文件
    schema.ini文件的内容
    [你的文件名]  /*例如[test.txt]*/
    ColNameHeader=false  /*用来说明test.txt的第一行是否为数据*/
    Format=TabDelimited   /*指定字段分割符为tab分割符*/
    col1=test1 text width 20  /*指定列名以及列的宽度*/
    col2=test2 text width 20
    col3=test3 text width 200select test1,test2,test3 from openrowset('MICROSOFT.JET.OLEDB.4.0','Text;HDR=YSE;DATABASE=C:\',test#txt)结果:
    /*
    test1              test2             test3
    58.47.128.91 58.47.128.91 湖南省益阳市 电信
    58.47.128.92 58.47.128.92 湖南省益阳市 过鹿坪大地英雄网络会所
    58.47.128.93 58.47.147.255 湖南省益阳市 电信
    58.47.148.0 8.47.254.255 湖南省常德市 电信*/
    注意你的文本文件各列之间必须是以tab分割符分隔的