Ver:SQLServer2008
想通过fmt导出csv文件中的数据
试了好久还是导不出数据
请大家指点一下
谢谢表
USE [A];
CREATE TABLE [S].[T]
(
[ID1] CHAR(4),
[NAME1] NVARCHAR(20),
[PASSWORD1] NVARCHAR(100),
[DATE1] DATE
);csv
"12","我","我1","2028/09/26"
"2","和","8222","2028/09/29"fmt
10.0
4
1 SQLCHAR 0 4 "","" 1 ID1 ""
2 SQLNCHAR 0 20 "","" 2 NAME1 ""
3 SQLNCHAR 0 100 "","" 3 PASSWORD1 ""
4 SQLDATETIME 0 100 ""\r\n" 4 DATE1 ""

解决方案 »

  1.   

    http://topic.csdn.net/u/20090714/08/DFBFB065-4067-49B5-A88F-FCAC6914C949.htmlhttp://topic.csdn.net/u/20090913/15/FA2E7E65-73D8-4B64-B6E0-BD583F564D86.html
      

  2.   

    可以看看3楼的两个使用格式化文件大容量导入导出的例子。顺便说说。sql server 2008为什么还要用非xml格式化文件。推荐使用xml格式化文件。
      

  3.   

    用xml的导入方法会
    只是在SQLSERVER2005以后可用
    兼容性的问题上
    fmt也要会写才好
      

  4.   

    导出都是配合bcp+fmt,bulkinsert 配合xml
      

  5.   


    格式化文件可以通过bcp导出的,必要时,会改改就行。
      

  6.   

    liangCK,谢谢,你给的连接看了
    我要以","为分隔符
    并不是逗号,应该怎么写?
    还有最后的Chinese_PRC_CI_AS
    不加也应该可以的,对吗
      

  7.   

    我用的是SQL SERVER 2005,
    所以格式化文件的版本是90G:\format.fmt   <!--格式化文件-->9.0
    5
    1       SQLCHAR       0       4       "\""     0     ID0                    Chinese_PRC_CI_AS
    2       SQLCHAR       0       4       "\",\""  1     ID1                    Chinese_PRC_CI_AS
    3       SQLCHAR       0       40      "\",\""  2     NAME1                  Chinese_PRC_CI_AS
    4       SQLCHAR       0       200     "\",\""  3     PASSWORD1              Chinese_PRC_CI_AS
    5       SQLCHAR       0       24      "\"\r\n" 4     DATE1                  ""
    G:\data.txt     --数据文件"12","我","我1","2028/09/26"
    "2","和","8222","2028/09/29"
    --SQLBULK INSERT T
        FROM 'g:\aaa.txt'
    WITH
    (
        FORMATFILE = 'G:\format.fmt'
    );SELECT * FROM T
    /*
    ID1 NAME1 PASSWORD1 DATE1
    12   我 我1 2028-09-26 00:00:00.000
    2    和 8222 2028-09-29 00:00:00.000
    */
      

  8.   

    具有文本限定符的数据文件,bcp/bulk insert都没有参数可以支持这个。但在SSIS中就可以。
    所以要在格式化文件里做些处理才行。
      

  9.   

    ok了
    是"\",\""的问题
    liangCK,谢了
    以后还请多多关照