比如对应的值中包含逗号(,)双引号(")  等特殊字符.我是用,逗号分割的每列的值。

解决方案 »

  1.   

    简单点 如果  AB,CD里有, 那结果是 "AB,CD"  如果有"号  那就是双的例如 AB""CD  "AB""""CD"
      

  2.   

    G:\format.xml
    数据库2005<?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="CharTerm" TERMINATOR="," MAX_LENGTH="20" COLLATION="Chinese_PRC_CI_AS"/>
      <FIELD ID="2" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="100" COLLATION="Chinese_PRC_CI_AS"/>
      <FIELD ID="3" xsi:type="CharTerm" TERMINATOR="\r\n" MAX_LENGTH="20" COLLATION="Chinese_PRC_CI_AS"/>
     </RECORD>
     <ROW>
      <COLUMN SOURCE="1" NAME="userName" xsi:type="SQLVARYCHAR"/>
      <COLUMN SOURCE="2" NAME="address" xsi:type="SQLVARYCHAR"/>
      <COLUMN SOURCE="3" NAME="phone" xsi:type="SQLVARYCHAR"/>
     </ROW>
    </BCPFORMAT>G:\test.txtuserName,address,phone
    hua,湖南,5971898
    --SQL SERVER
    --创建表
    CREATE TABLE userinfo(id INT identity,userName varchar(20),
                          pass varchar(20),address varchar(100),phone varchar(20),
                          email varchar(128),registerTime datetime)--导入
    INSERT INTO userinfo(userName,address,phone)
    SELECT * FROM OPENROWSET(BULK 'G:\test.txt',FORMATFILE='G:\format.xml',FIRSTROW=2) AS T;--查看数据
    SELECT * FROM userinfo;/*
    id          userName      pass      address      phone    email     registerTime     
    ----------- --------- ---------- ----------- ---------- ---------- -------------
    1           hua           NULL        湖南    5971898      NULL       NULL(1 行受影响)
    */
      

  3.   

    http://topic.csdn.net/u/20090913/15/fa2e7e65-73d8-4b64-b6e0-bd583f564d86.html
    http://topic.csdn.net/u/20100630/16/c2674a8f-acde-4c26-a17d-034444ed0c9c.html
    这两个你参考下
      

  4.   

    双引号""
    csv可按照文本操作