现在若干unix文件, 使用导入导出向导,可以直接导入到数据库中,
使用bulk insert无法导入数据库,原因为无法分隔行,
使用UE转换为DOS格式后可导入数据库,
由于文件多,如何使用bulk insert 直接导入?

解决方案 »

  1.   

    在linux导出文件的时候可以转换一下
      

  2.   

    原贴地址:http://topic.csdn.net/u/20090913/15/fa2e7e65-73d8-4b64-b6e0-bd583f564d86.html?95717------------------------------------------------------------------------------------------1、有一固定长度的文本,如下:a.txtaaaaaaabbbbbbbcccccccc01234567890aaaaaaabbbbbbbcccccccc01234567890aaaaaaabbbbbbbcccccccc01234567890aaaaaaabbbbbbbcccccccc01234567890aaaaaaabbbbbbbcccccccc01234567890共5个字段,aaaaaaabbbbbbbcccccccc01234567890如何批量导入a.txt进数据库,要存储过程或语句。我看了一下,好像bulk不行,高手请教教我,谢谢!2、如何能快速的把10w级以上的文本数据导入数据库,最好控制到1-2分钟内。------------------格式化文件: tb.xml<?xml version="1.0"?>
    <BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <RECORD>
      <FIELD ID="1" xsi:type="CharFixed" LENGTH="4" COLLATION="Chinese_PRC_CI_AS"/>
      <FIELD ID="2" xsi:type="CharFixed" LENGTH="4" COLLATION="Chinese_PRC_CI_AS"/>
      <FIELD ID="3" xsi:type="CharFixed" LENGTH="4" COLLATION="Chinese_PRC_CI_AS"/>
      <FIELD ID="4" xsi:type="CharFixed" LENGTH="4" COLLATION="Chinese_PRC_CI_AS"/>
      <FIELD ID="5" xsi:type="CharTerm" TERMINATOR="\r\n" MAX_LENGTH="10" COLLATION="Chinese_PRC_CI_AS"/>
     </RECORD>
     <ROW>
      <COLUMN SOURCE="1" NAME="col1" xsi:type="SQLVARYCHAR"/>
      <COLUMN SOURCE="2" NAME="col2" xsi:type="SQLVARYCHAR"/>
      <COLUMN SOURCE="3" NAME="col3" xsi:type="SQLVARYCHAR"/>
      <COLUMN SOURCE="4" NAME="col4" xsi:type="SQLVARYCHAR"/>
      <COLUMN SOURCE="5" NAME="col5" xsi:type="SQLVARYCHAR"/>
     </ROW>
    </BCPFORMAT>数据文件: data.txtabcd1234efgh5678ijklejaijfefajhjahduuehfeuqrvclanqa4512arfqe创建表,并使用BULK INSERT导入表
    CREATE TABLE tb(col1 varchar(10),col2 varchar(10),
                    col3 varchar(10),col4 varchar(10),
                    col5 varchar(10));BULK INSERT tb 
        FROM 'g:\data.txt'
    WITH 
    (
        FORMATFILE='g:\tb.xml'
    )查看表数据:
    SELECT * FROM tb;/*
    col1       col2       col3       col4       col5
    ---------- ---------- ---------- ---------- ----------
    abcd       1234       efgh       5678       ijkl
    ejai       jfef       ajhj       ahdu       uehf
    euqr       vcla       nqa4       512a       rfqe(3 行受影响)*/参考
      

  3.   

    unix 格式与 dos 格式主要区别是换行,unix 的为 \n,dos 的为 \r\nBULK INSERT tablename FROM 'filename' WITH (ROWTERMINATOR = '\n');