有个问题想请教一下:用vs2010建好了数据库,我想把TXT文档里的数据导入到数据库的某个表里,怎么实现?~ 在线等

解决方案 »

  1.   

    --读取(导入) Excel 文件
    USE master
    SELECT * FROM OpenDataSource( 
     ''Microsoft.Jet.OLEDB.4.0'',''Data Source="d:\Test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0'')
    ...[Sheet1$]5.--读取(导入) Txt 文件  Select * From OpenRowSet (''MICROSOFT.JET.OLEDB.4.0'',''Text;HDR=NO;DATABASE=D:\'',test#txt) 
      

  2.   

    不写代码的话,就先分离出来,附加到ssms(我用的2005)中,右击数据库名称->任务->导入数据->下一步->数据源选择:平面文件源->浏览你的文件……按步骤操作就行,很简单的,导入后再用vs2010重新连接你的数据库就ok啦~~
      

  3.   


    --资料:http://www.cnblogs.com/qanholas/archive/2011/07/05/2098635.html
    --------创建表
    create table test(
    S# VARCHAR(20),
    SNAME VARCHAR(20),
    AGE INT,
    SEX VARCHAR(6)
    )
    TRUNCATE TABLE test
    --------导入数据BULK INSERT ZHH..test 
    FROM 'E:\aa.txt'
    --
    with( --txt 文本样式(值与值之间用逗号隔开,行与行用的回车)
       FIELDTERMINATOR=',',
       ROWTERMINATOR='\n'
    )
    ---------查询结果
    select *
    from test----
    DROP TABLE TEST
    /*
    现在我有一个table:pictrue
    有三个列:
    ID Zhichi(支持数) Paiming(排名)现在我想要统计支持数(Zhichi),支持数越大排名就越前(1代表排最前),然后再记录这个排名到Paiming中举例
    ID:1 Zhichi:50 Paiming:2
    ID:2 Zhichi:10 Paiming:3
    ID:3 Zhichi:100 Paiming:1
    */
    /******* 导出到excel */
    EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:/temp1.xls -c -q -S"
    GNETDATA/GNETDATA" -U"sa" -P""'
     /*********** 导入Excel */
     SELECT * 
     FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:/test.xls";
     User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions 
     /*动态文件名 declare @fn varchar(20),@s varchar(1000) set @fn = 'c:/test.xls' 
     set @s ='''Microsoft.Jet.OLEDB.4.0'', ''Data Source="'+@fn+'";
     User ID=Admin;Password=;Extended properties=Excel 5.0''' 
     set @s = 'SELECT * FROM OpenDataSource ('+@s+')...sheet1$' exec(@s) */
     SELECT cast(cast(科目编号 as numeric(10,2)) as nvarchar(255))+' ' 转换后的别名 
     FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:/test.xls";
     User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions 
     
     /********************** EXCEL导到远程SQL */
     insert OPENDATASOURCE( 'SQLOLEDB', 
     'Data Source=远程ip;User ID=sa;Password=密码' ).库名.dbo.表名 (列名1,列名2) 
     
     SELECT 列名1,列名2 
     FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 
     'Data Source="c:/test.xls";User ID=Admin;
     Password=;Extended properties=Excel 5.0')...xactions 
     
     /** 导入文本文件 */
     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' ) 
       
       --/* dBase IV文件 
       select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,
       'dBase IV;HDR=NO;IMEX=2;DATABASE=C:/','select * from [客户资料4.dbf]')
       
        --*/ --/* dBase III文件 
      
      select * 
      from OPENROWSE('MICROSOFT.JET.OLEDB.4.0' ,
      'dBase III;HDR=NO;IMEX=2;DATABASE=C:/','select * from [客户资料3.dbf]') 
      
      --*/ --/* FoxPro 数据库 
      select * from openrowset('MSDASQL', 'Driver=Microsoft Visual 
      FoxPro Driver;SourceType=DBF;SourceDB=c:/', 'select * from [aa.DBF]') 
      
      --*/ /**************导入DBF文件****************/ 
      select * from openrowset('MSDASQL', 'Driver=Microsoft 
      Visual FoxPro Driver; SourceDB=e:/VFP98/data; SourceType=DBF', 
      'select * from customer where country != "USA" order by country') go 
      
      /***************** 导出到DBF ************** 如果要导出数据到已经生成结构
      (即现存的)FOXPRO表中,可以直接用下面的SQL语句 */
      
      insert into openrowset('MSDASQL', 'Driver=Microsoft Visual 
      FoxPro Driver;SourceType=DBF;SourceDB=c:/', 'select * from [aa.DBF]') 
      select * from 表 
      
      /*说明: SourceDB=c:/ 指定foxpro表所在的文件夹 aa.DBF 指定foxpro表的文件名. */
      
      /*************导出到Access********************/ 
      insert into openrowset('Microsoft.Jet.OLEDB.4.0', 'x:/A.mdb';'admin';'',A表)
      
       select * from 数据库名..B表 
       
       /*************导入Access********************/ 
       
       insert into B表 
       select * from openrowset('Microsoft.Jet.OLEDB.4.0', 
       'x:/A.mdb';'admin';'',A表) 
       
       /*文件名为参数*/  
       
       declare @fname varchar(20) 
       set @fname = 'd:/test.mdb' 
       exec('SELECT a.* FROM opendatasource(''Microsoft.Jet.OLEDB.4.0'',
        '''+@fname+''';''admin'';'''', topics) as a ') 
        
        SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
         'Data Source="f:/northwind.mdb";Jet OLEDB:Database Password=123;
         User ID=Admin;Password=;')...产品