sqlserver 将存储过程分别导出为文件及报错解决方式
sqlserver 将存储过程分别导出为文件: DECLARE @s VARCHAR(4000),@n INT,@i INT,@s1 VARCHAR(100) SELECT IDENTITY(INT) id,text INTO ## FROM syscomments SELECT @n=@@ROWCOUNT,@i=0 WHILE @i<@n BEGIN SELECT @i=@i+1,@s='' SELECT @s1=REPLACE(REPLACE(RTRIM(LTRIM(STUFF(STUFF(text,CHARINDEX('AS',text),40000,''),1,CHARINDEX('PROC',STUFF(text,''))+4,''))),CHAR(10),CHAR(13),'') FROM ## WHERE ID=RTRIM(@i) --SELECT @s1,ASCII(SUBSTRING(@s1,3,1)) --SELECT LEN(REPLACE(REPLACE(@s1,'')) SELECT @s='SELECT text FROM tempdb.dbo.## WHERE ID=' + RTRIM(@i) EXEC('EXEC master..xp_cmdshell ''bcp "' + @s + ' " queryout "e:ProcTXT' + @s1 + '.txt" -S"ROBINHOMESQLEXPRESS" -c -U"sa" -P"bd5178"''') END DROP TABLE ## ? ?BCP常见问题集: 1.错误:Error = [Microsoft][SQL Native Client]Unable to open BCP host data-file. 原因:用户对导入导出的文件夹没有足够的操作权限。 解决方案:给用户添加足够权限来操作相关文件。 ? 2.错误:Error = [Microsoft][SQL Native Client]String data,right truncation 原因:字符串长度过长 解决方案:检查数据长度是否超过表格设置,或者是否有正确的行结束标志。 ? 3.错误:在SQL SERVER 2005 调用“sys.xp_cmdshell”过程对过期备份文件进行删除出现如下出错提示: 原因:用户没有执行xp_cmdshell的权限 ----------------------------- sp_configure 'show advanced options',1 GO RECONFIGURE GO sp_configure 'xp_cmdshell',1 GO RECONFIGURE GO
sp_configure 'show advanced options',1 GO RECONFIGURE GO sp_configure 'Ole Automation Procedures' GO RECONFIGURE GO (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- sql-server – 来自SQL Server varbinary列的数据的临时ret
- SQLServer 2000 生成数据源的SQL脚本
- SQL Server 数据加密解密代码
- 使用PowerShell和SMO恢复数据库时显示进度
- sql-server – 如何在脚本中设置SQL Server脚本的超时?
- aggregate – 在SQL查询中使用没有GROUP BY的HAVING
- sql-server-2005 – 存储过程的版本更改
- H2 数据库导入CSV文件实现原理简析
- MySQL中Binary Log二进制日志文件的基本操作命令小结
- sql-server – Sequence – NO CACHE vs CACHE 1