我的aa.txt有2列,中间2个空格。我要导入到sql的表aa中,表字段假设xm,nl。如何导入?
123  456
143  678
983  213

解决方案 »

  1.   

    什么数据库?
    如果是sql server,可以使用自带的工具,也可以使用
    /** 导入文本文件 
    EXEC master..xp_cmdshell ’bcp "dbname..tablename" in c:\DT.txt -c -Sservername -Usa -Ppassword’ /** 导出文本文件 
    EXEC master..xp_cmdshell ’bcp "dbname..tablename" out c:\DT.txt -c -Sservername -Usa -Ppassword’ 
    或 
    EXEC master..xp_cmdshell ’bcp "Select * from dbname..tablename" queryout c:\DT.txt -c -Sservername -Usa -Ppassword’ 导出到TXT文本,用逗号分开 
    exec master..xp_cmdshell ’bcp "库名..表名" out "d:\tt.txt" -c -t ,-U sa -P password’ 
    BULK INSERT 库名..表名 
    FROM ’c:\test.txt’ 
    WITH ( 
        FIELDTERMINATOR = ’;’, 
        ROWTERMINATOR = ’\n’ 
    ) 当然,还有最屁的办法,就是把文本文件用tstringlist载入,然后解析数据后,写代码一行一行导入
      

  2.   

    打开SQL企业管理器,右击某一数据库选择“所有任务”-->“导入数据”,导入数据源选择“文本文件”-->“带分隔符”-->“其它”填入"~~",下面就Next一直到底就OK了!
      

  3.   

    或者参考http://community.csdn.net/Expert/topic/4686/4686187.xml?temp=7.381839E-02
      

  4.   

    例子:
    adoquery.SQL.Clear;
    adoquery.SQL.Add(
    'bulk insert aa' +
    '  from ''' +  'aa.txt' + '''' +
    '  with (FIELDTERMINATOR = ''分割符'')');
    adoquery.ExecSQL;具体看sql的help,关于bulk insert语句