SQL数据库与文本文件之间的大批量数据互导

原创 2005年04月30日 17:11:00

**********************************************
数据库:
sql2000

服务器名: SqlServerName
数据库名:  DataBaseName
表    名:  d_t11
用 户 名:  sa
密    码:  sa
运行环境:  sql2000查询分析器

数据文件:

以下示例为文本文件
如果你要导入或导出到*.doc,*.dat类型的数据文件中,只需将文件名更改即可.
文件路径及文件名:  c:/mrfu.txt

**********************************************

**********************************************
1.sql中数据与文本文件互导
**********************************************

相邻字段之间用空格隔开
EXEC master..xp_cmdshell ' bcp "DataBaseName..d_t11" out "c:/mrfu.txt" -c -S"SqlServerName" -U"sa" -P"sa" '    或
EXEC master..xp_cmdshell 'bcp "Select * from DataBaseName..d_t11" queryout "c:/mrfu.txt" -c -S"SqlServerName" -U"sa" -P"sa" '

相邻字段之间用逗号或其它符号隔开(在-c后添加-t 并在-t后添加你要使用的分隔符)
Exec master..xp_cmdshell ' bcp "DataBaseName..d_t11" out "c:/mrfu.txt" -c -t, -S"SqlServerName" -U"sa" -P"sa" '    或
EXEC master..xp_cmdshell 'bcp "Select * from DataBaseName..d_t11" queryout "c:/mrfu.txt" -c -t,, -S"SqlServerName" -U"sa" -P"sa" '

大容量复制选项 bcp 实用工具开关 BULK INSERT 子句
字符模式格式 -c    DATAFILETYPE = 'char'
字段终止符   -t    FIELDTERMINATOR
行终止符     -r    ROWTERMINATOR


--本例从指定的sql数据库中导入员工详细信息,该文件使用竖杠 (|) 字符作为字段终止符,使用 |/n 作为行终止符。
EXEC master..xp_cmdshell 'bcp "Select * from DataBaseName..d_t11" queryout "c:/mrfu.txt" -c -t"|" -r"|/n" -S"SqlServerName" -U"sa" -P"sa" '

--将数据从数据文件(c:/mrfu.txt)复制到 SQL Server中
--delete from d_t11
select * from d_t11                    
BULK INSERT DataBaseName..d_t11
FROM 'c:/mrfu.txt'
WITH
(
      FIELDTERMINATOR = '|',
      ROWTERMINATOR = '|/n'
)
select * from d_t11   或

EXEC master..xp_cmdshell 'bcp " DataBaseName..d_t11" in "c:/mrfu.txt" -c -t"|" -r"|/n" -S"SqlServerName" -U"sa" -P"sa" '

**********************************************
相关说明:
1.xp_cmdshell
以操作系统命令行解释器的方式执行给定的命令字符串,并以文本行方式返回任何输出。授予非管理用户执行 xp_cmdshell 的权限。
2.bcp
实用工具在SQL2000数据库和数据文件之间以用户指定的格式复制数据。
语法
bcp {[[database_name.][owner].]{table_name | view_name} | "query"}
    {in | out | queryout | format} data_file
    [-m max_errors] [-f format_file] [-e err_file]
    [-F first_row] [-L last_row] [-b batch_size]
    [-n] [-c] [-w] [-N] [-V (60 | 65 | 70)] [-6]
    [-q] [-C code_page] [-t field_term] [-r row_term]
    [-i input_file] [-o output_file] [-a packet_size]
    [-S server_name[/instance_name]] [-U login_id] [-P password]
    [-T] [-v] [-R] [-k] [-E] [-h "hint [,...n]"]
**********************************************


C#从文本文件中读取数据大批量导入数据库

C#从文本文件中读取数据大批量导入数据库

Csharp 讀取大文本文件數據到DataTable中,大批量插入到數據庫中

文本文件中的內容格式為:(其中問題,誰能否解決大於15M的文本文件能快速讀到DataTable中) 俚    rustic 俚语    slang 哩    mile 哩    onoma...

SQL*Loader 从文本文件向数据库导入数据

使用 SQL*Loader 怎样从文件向数据库导入数据

文本文件数据导入SQL Server数据库

文本文件: 阿斯顿|12 周小川|14 东丰阁|15 using System; using System.Collections.Generic; using System.Lin...

黑马程序员_学习日记48_616数据库开发及ADO.Net(带参数的Sql语句、数据库与文本文件导入导出、省市联动、资料管理器、DataSet (ado.net断开式数据访问)、SQLHelper)

一、带参数的Sql语句(避免注入攻击) (一)   注入漏洞攻击 在用户名中输入:jk’ or 1=1 -- select count(*) from UserLogin where log...

sql数据库之间数据的转录

  • 2014年01月21日 18:05
  • 59KB
  • 下载

数据库大批量SQL插入性能优化

对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长。特别像报表系统,每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久。因此,优化数据库插入性能是很有意义的。...

SQL*Plus copy 命令处理大批量数据复制

对于数据库表级上的数据复制,我们最常用的是CREATE TABLE AS(CTAS)..方式。其实在SQL*Plus下面copy命令可以完成同样的工作,而且更加出色,性能也比较优异。更突出的是支持跨平...

大批量数据导入数据库,dbf导入oracle,csv导入oracle

Excel 07-2003一个工作表最多可有65536,行最多可有256列;Excel 2007及以后版本,一个工作表最多可有1048576行,16384列。 一、小批量数据处理: 方法一:用ex...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL数据库与文本文件之间的大批量数据互导
举报原因:
原因补充:

(最多只允许输入30个字)