调用这个可执行文件:
dtsrun
用sql来写是:
use master
xp_cmdshell 'dtsrun.exe', NO_OUTPUT
dtsrun
用sql来写是:
use master
xp_cmdshell 'dtsrun.exe', NO_OUTPUT
解决方案 »
- 安装了SQL SERVER 2008 R2后系统时间变慢是什么原因
- 求汇总统计一SQL语句。。。。。。。。
- 急救~~如何修改数据库某个字段的默认值啊
- 求显示总行数
- 想用Case语句查询多个字段,急!
- 取出符合条件的记录
- sqlserver2000 数据迁移,40万数据,从就数据库批量select insert 到新数据库,花了16分钟?感觉时间有点长,怎么解决?
- SQL查询
- 请问各位大侠,数据库引擎究竟完成哪些工作?
- 为何只能登陆本地,而无法登陆ORACLE ENTERPRISE MANAGER!!望指点,分必给!!
- 请问sql2000怎样将数据移植到oracle9i中?
- 能否记录客户端的ip地址(100分)
能不能具体一点啊,比如要将data1.txt 数据导入到数据库mydb的data表中,怎么写呢?
EXEC master..xp_cmdshell 'bcp test.dbo.tablename in c:\temp1.txt -c -q -S"servername" -U"sa" -P""'
导出文件
EXEC master..xp_cmdshell 'bcp test.dbo.tablename out c:\temp1.txt -c -q -S"servername" -U"sa" -P""'
给分吧!
再运行dtsrun
dtsrun的用法,它本身带帮助
直接运行 dtsrun 就是他的帮助
别急嘛,我很守信用的。
如果要调整文本文件的字段和表的字段对应关系,而不是一一对应的关系,该怎么弄呢?
CREATE PROCEDURE aaaAS
BULK INSERT 数据库名..表名 FROM '文件名'
WITH (
DATAFILETYPE = 'char', //字符行
FIELDTERMINATOR = ',', //以逗号作为隔离符号
ROWTERMINATOR = '\n' //换行符
)
GO
等一下,我试试哦
怎么把文本文件参数传入到这个存储过程中,字符变量好像不能直接用在from 后面啊?另外,如果这个文本文件只有几列而不是全部需要导入,应该怎么设置呢?
CREATE PROCEDURE aaa
@name1 char(100)
AS
declare @sql varchar(300)
set @sql='BULK INSERT 数据库名..表名 FROM '''+@name1+''' WITH (DATAFILETYPE =
'''+'char'+''',FIELDTERMINATOR = '''+','+''',ROWTERMINATOR = '''+'\n'+''',FIRE_TRIGGERS)'
exec(@sql)
这个我现在也没研究过,你看看bulk insert的帮助手册后的参数设置