@filename = 'e:\\test.txt', -----------
导出路径有问题,应该改为
@filename = 'e:\test.txt', --
导出路径有问题,应该改为
@filename = 'e:\test.txt', --
解决方案 »
- B/S和C/S模式有什么区别,回了就给分!!!!!!!!!!!
- 我想学习SQL Server 2000,请问从何学起呢?
- 修改主键列为自增列
- 非常郁闷的问题。。关于还原SQL2005数据库
- 关于select里加入条件判断的问题!!!!!!!!!!!!!
- 问一个问题(应该很容易吧)
- 跨服务器查询数据
- 还原数据库 with move 怪问题
- 有时第一条记录查询时MSDN explain plan 不是最优的
- 我要实现一个查询,只用查询语句,大家帮我看看,很久没有弄数据库了有点忘本了。
- 数据库中有一字段存在重复,我想查出时间为最后的这个字段,并统计存在多少条这样的记录(题目说的可能不太清楚,帖子内容会补充)
- 〓〓>===→ 继续下午的问题,怎样从ADO的已返回的记录集中得到字段是否允许空值的属性?
1 SQLState = HY000, NativeError = 0
2 Error = [Microsoft][SQL Native Client]无法打开 BCP 主数据文件
3 NULL
错误依旧呀
先谢谢了各位,结贴时我给辛苦分
怎麽讲
alter procedure [dbo].[File2Table]
@servername varchar(200) --服务器名
,@username varchar(200) --用户名,如果用NT验证方式,则为空''
,@password varchar(200) --密码
,@filename varchar(1000) --目录名+文件名
,@tbname varchar(500)='' --数据库..表名
,@isout bit=1 --1为导出(默认),0为导入
,@fdsplit varchar(10)='\t' --字段分隔符,默认为制表符
,@rowsplit varchar(10)='\n' --记录分隔符,默认为回车符
as
declare @sql varchar(8000) set @sql='bcp "'+@tbname
+case when @isout=1 then '" out' else '" in' end
+'/i'+' "'+@filename+'" /c' +' /S"'+@servername
+'" /U"'+@username
+'" /P"'+@password+'"'
+' /t"'+@fdsplit+'"'
+' /r"'+@rowsplit+'"'
--去掉回车set @sql=replace(@sql,char(13)+char(10),'')exec master..xp_cmdshell @sql
有回车就报错啊,bcp我用的比较多
如果文件在共享目录中, 要求正确地配置了 sql server 服务启动用户(保证该用户能访问该共享目录)
---
传入sa,和sa密码,为什么要搞一个动态的呢,静态的多好
我在SQL服务器上执行EXEC master..xp_cmdshell 'BCP sydb_v2..min30_tb out E:\sydb_backup\test.txt -c -S"DATACENTER" -T'语句实现
了把数据表数据导出道TXT文件中。可我把服务器-S"改为局域网SQL服务器的名字"执行以上语句产生以下错误:
Error = [Microsoft][SQL Native Client][SQL Server]用户 '' 登录失败。该用户与可信 SQL Server 连接无关联。
如何改?ojuju10 兄给点建议
EXEC master..xp_cmdshell 'BCP sydb_v2..min30_tb out E:\sydb_backup\test.txt -c -S"DATACENTER" -U"sa" -P"sa的密码"'
在 sql 服务(控制面板--服务中, sql2005直接用sql server配置管理器)属性中, 设置登录身份为该用户这样该用户能够访问网络路径
将你的文件所在的目录共享, 设置合适的访问权限, 以便能从 sql 服务器访问该共享目录
这样你的语句就可以访问文件了验证的方法是执行类似下面的语句可以列出共享目录
exec master..xp_cmdshell 'dir \\计算机名\共享目录名'
在 sql 服务(控制面板--服务中, sql2005直接用sql server配置管理器)属性中, 设置登录身份为该用户 这样该用户能够访问网络路径
将你的文件所在的目录共享, 设置合适的访问权限, 以便能从 sql 服务器访问该共享目录
这样你的语句就可以访问文件了 验证的方法是执行类似下面的语句可以列出共享目录
exec master..xp_cmdshell 'dir \\计算机名\共享目录名'
////////////////////////////////////////////////////////////////////////////////////////
老大你说的这段话我试着做了不行呀exec master..xp_cmdshell 'dir \\计算机名\共享目录名' 这个命令是列出我能看到的共享目录吗
我来是给分的,看了这段话,我发现我得能明白,这样我就彻底明白了并能随意导入导出数据库到任意的地点了。太好了,不亏为大版主呀,我的偶像