正规的
用导出向导简单的
在查询分析器中打开,全选,复制,粘贴到任一文本编辑器中,

解决方案 »

  1.   

    楼主的意思是要将整个数据库的所有表都导入到一个文本文件里????
      

  2.   

    是呀,因为要将别的机器上的数据库数据合并到服务器上,而又没联网
      

  3.   

    而且导入导出都通过执行程序完成,而不需要手动操作数据库
      

  4.   

    先备份,到那边去恢复出一库出来,然后在那边本地做导入
      

  5.   

    能有具体的代码吗,分可以再加
      

  6.   

    --邹老大的,参考下--导所有的表,调用如下:exec file2table '数据库服务器','用户名','密码','d:\','test',''if exists(select 1 from sysobjects where name='File2Table' and objectproperty(id,'IsProcedure')=1)
    drop procedure File2Table
    go/*--实现数据导入/导出的存储过程 可以实现导入/导出 整个数据库/指定表 到文本文件--邹建 2003.07(引用请保留此信息)--*//*--调用示例导出调用示例
    --导出指定表,这里指定导出表:地区资料 和 基本信息,文件名前缀为:zj
    exec file2table 'zj','','','d:\','xzkh_sa','地区资料,基本信息'
    --导出整个数据库到c:\docman目录下,无文件前缀
    exec file2table 'zj','','','d:\txt\','xzkh_sa'导入调用示例
    --导入指定表,这里指定导出表:地区资料 和 基本信息,文件名前缀为:zj
    exec file2table 'zj','','','c:\zj','xzkh_sa','地区资料,基本信息',0
    --导入整个数据库从c:\docman目录下,无文件前缀
    exec file2table 'zj','','','C:\docman\','xzkh_sa','',0
    --*/
    create procedure File2Table
    @servername varchar(200) --服务器名
    ,@username varchar(200) --用户名,如果用NT验证方式,则为空''
    ,@password varchar(200) --密码
    ,@path varchar(1000) --目录名+文件前缀,目录名必须以'\'结束,文件名自动用表名.txt
    ,@dbname varchar(500) --数据库名
    ,@tbname varchar(8000)='' --表名列表,如果不指定,则表示所有用户表
    ,@isout bit=1 --1为导出(默认),0为导入
    as
    declare @sql varchar(8000),@sql1 varchar(8000)
    declare @tbstation int,@filestation int--初始化数据处理语句
    select @sql='bcp "'+@dbname+'..'
    ,@tbstation=len(@sql)+1
    ,@sql=@sql
    +case when @isout=1 then '" out' else '" in' end
    +' "'+@path
    ,@filestation=len(@sql)+1
    ,@sql=@sql
    +'.txt" /c' +' /S"'+@servername
    +case when isnull(@username,'')='' then '' 
    else '" /U"'+@username end
    +'" /P"'+isnull(@password,'')+'"'--数据导入/导出处理
    --定义数据处理的游标
    set @sql1='declare #tb cursor for select name from '
    +@dbname+'..sysobjects where xtype=''U'''
    +case when isnull(@tbname,'')='' then ''
    else ' and name in ('''+replace(@tbname,',',''',''')+''')' end
    exec(@sql1)
    open #tb
    fetch next from #tb into @tbname
    while @@fetch_status=0
    begin
    select @sql1=stuff(@sql,@tbstation,0,@tbname)
    ,@sql1=stuff(@sql1,@filestation+len(@tbname),0,@tbname)
    exec master..xp_cmdshell @sql1,no_output
    fetch next from #tb into @tbname
    end
    close #tb
    deallocate #tb
    go