使用bcp就行了每行一个卡号么?

解决方案 »

  1.   

    --在命令提示符下用命令(或者在程序中调用外部命令,注意大小写)bcp "库名..表名" in "c:\aa.txt" /c /S"sql server服务器名" /U"sa" /P"密码"
      

  2.   

    master.dbo.xp_cmdshell('bcp "庫名.dbo.表" in 文件路徑  /c /S服務器 /Usa /P密碼 /t:')
      

  3.   

    导入导出大全 
    *******  导出到excel
    EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""'/***********  导入Excel
    select * from openrowset('MicroSoft.Jet.OleDB.4.0',
                             'Excel 5.0;HDR=yes;Database=c:\test.xls',sheet1$)
    --------------------------------------------------------
    SELECT * 
    FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
      'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
    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/** 导入文本文件
    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 
    OPENROWSET('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表 selet * from openrowset('Microsoft.Jet.OLEDB.4.0', 
       'x:\A.mdb';'admin';'',A表) 
     
    Top 
     
     回复人: txlicenhe(马可) ( ) 信誉:167  2003-10-10 18:52:32Z  得分:0  
     
     
      
    *********************  导入 xml 文件DECLARE @idoc int
    DECLARE @doc varchar(1000)
    --sample XML document
    SET @doc ='
    <root>
      <Customer cid= "C1" name="Janine" city="Issaquah">
          <Order oid="O1" date="1/20/1996" amount="3.5" />
          <Order oid="O2" date="4/30/1997" amount="13.4">Customer was very satisfied
          </Order>
       </Customer>
       <Customer cid="C2" name="Ursula" city="Oelde" >
          <Order oid="O3" date="7/14/1999" amount="100" note="Wrap it blue 
                 white red">
                <Urgency>Important</Urgency>
                Happy Customer.
          </Order>
          <Order oid="O4" date="1/20/1996" amount="10000"/>
       </Customer>
    </root>
    '
    -- Create an internal representation of the XML document.
    EXEC sp_xml_preparedocument @idoc OUTPUT, @doc-- Execute a SELECT statement using OPENXML rowset provider.
    SELECT *
    FROM OPENXML (@idoc, '/root/Customer/Order', 1)
          WITH (oid     char(5), 
                amount  float, 
                comment ntext 'text()')
    EXEC sp_xml_removedocument @idoc 
    Top 
     
     回复人: txlicenhe(马可) ( ) 信誉:167  2003-10-10 18:54:30Z  得分:0  
     
     
      
    邹健的
    /********************导整个数据库*********************************************/用bcp实现的存储过程
    /*
    实现数据导入/导出的存储过程
             根据不同的参数,可以实现导入/导出整个数据库/单个表
    调用示例:
    --导出调用示例
    ----导出单个表
    exec file2table 'zj','','','xzkh_sa..地区资料','c:\zj.txt',1
    ----导出整个数据库
    exec file2table 'zj','','','xzkh_sa','C:\docman',1--导入调用示例
    ----导入单个表
    exec file2table 'zj','','','xzkh_sa..地区资料','c:\zj.txt',0
    ----导入整个数据库
    exec file2table 'zj','','','xzkh_sa','C:\docman',0*/
    if exists(select 1 from sysobjects where name='File2Table' and objectproperty(id,'IsProcedure')=1)
    drop procedure File2Table
    go
    create procedure File2Table
    @servername varchar(200)--服务器名
    ,@username varchar(200)--用户名,如果用NT验证方式,则为空''
    ,@password varchar(200)--密码
    ,@tbname varchar(500)--数据库.dbo.表名,如果不指定:.dbo.表名,则导出数据库的所有用户表
    ,@filename varchar(1000)--导入/导出路径/文件名,如果@tbname参数指明是导出整个数据库,则这个参数是文件存放路径,文件名自动用表名.txt
    ,@isout bit--1为导出,0为导入
    as
    declare @sql varchar(8000)if @tbname like '%.%.%' --如果指定了表名,则直接导出单个表
    begin
    set @sql='bcp '+@tbname
    +case when @isout=1 then ' out ' else ' in ' end
    +' "'+@filename+'" /w'
    +' /S '+@servername
    +case when isnull(@username,'')='' then '' else ' /U '+@username end
    +' /P '+isnull(@password,'')
    exec master..xp_cmdshell @sql
    end
    else
    begin--导出整个数据库,定义游标,取出所有的用户表
    declare @m_tbname varchar(250)
    if right(@filename,1)<>'\' set @filename=@filename+'\'set @m_tbname='declare #tb cursor for select name from '+@tbname+'..sysobjects where xtype=''U'''
    exec(@m_tbname)
    open #tb
    fetch next from #tb into @m_tbname
    while @@fetch_status=0
    begin
    set @sql='bcp '+@tbname+'..'+@m_tbname
    +case when @isout=1 then ' out ' else ' in ' end
    +' "'+@filename+@m_tbname+'.txt " /w'
    +' /S '+@servername
    +case when isnull(@username,'')='' then '' else ' /U '+@username end
    +' /P '+isnull(@password,'')
    exec master..xp_cmdshell @sql
    fetch next from #tb into @m_tbname
    end
    close #tb
    deallocate #tb
    end
    go
      

  4.   

    用sql语句处理的方法不行,因为sql语句在sql服务器上执行,要求文件在sql服务器,或者服务器可以访问的共享目录中.
      

  5.   

    bcp "Archive..T_ARCHIVES"  in  "e:\aa..txt" /c/S"192.168.1.200"/U"sa"/P"sa"运行后会出错.bcp:未知选项
    ……
    …………
    请问是什么回事?
      

  6.   

    我想在delphi实现,数据库我是初学,能不能把具体步骤写一下啊,谢谢了!
    还有我每一行有卡号,时间,年月日的,导入sql要分开的,请问怎么实现呀?
      

  7.   

    SQL SERVER的企业管理器中不是有导入向导么选择数据库,右键--》所有任务-->导入数据...
      

  8.   

    每一行有卡号,时间,年月日的,导入sql要分开的,请问怎么实现呀?
    --------先将原始数据导入,然后再作数据分析....
      

  9.   

    在客户机上装一个SQL,新建一个SQL注册连接到服务器,再通过SQL的导入功能即可
      

  10.   

    能不能在客户机上不装sql,直接用程序实现呀?
      

  11.   

    to:wea1978(川)
    这个文本文件是要求每天都有不同的要导入的,每次都做数据分析会不会太繁琐了啊