//在SQL Server的存储过程中实现对文本的操作
如,对一个文本文件c:\ttt.txt;
怎么实现从文本中读取一行,怎么实现写入一行呢?
DECLARE @object int
DECLARE @hr int
DECLARE @src varchar(255), @desc varchar(255)
Declare @tmp int
declare @msg varchar(3000)
SET @msg='Hello. MS SQL Server 2000. I Love you!!!' --這字串將會被寫到SQL Server的安裝目錄下的Nipsan.Txt文件里面
/* 取得SQL Server的安裝路徑*/
declare @strPath nvarchar(512)
Exec sp_MSGet_Setup_paths @strPath OUTPUT
Set @strPath=@strPath+'\Nipsan.Txt' --組成文件名
--創建Scripting組件實例
EXEC @hr = sp_OACreate 'Scripting.FileSystemObject', @object OUT
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT
SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc
RETURN
END
--創建文件
EXEC @hr = sp_OAMethod @object, 'CreateTextFile', @tmp OUTPUT , @strPath
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
--把@msg寫到文件里面去
EXEC @hr = sp_OAMethod @tmp, 'Write',NULL, @msg
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
--關閉文件
EXEC @hr = sp_OAMethod @tmp, 'Close',NULL
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
-----------寫文件操作Demo完成---------------------------------------------------------------
--打開文件
EXEC @hr = sp_OAMethod @object, 'OpenTextFile', @tmp OUTPUT ,@strPath
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
SET @msg=''
--讀文件
EXEC @hr = sp_OAMethod @tmp, 'Read', @msg OUT,3000
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
-----讀文件操作Demo完成
SELECT @msg AS RESULT
没有这么用过,不过可以提供几个方向的思路,从理论上说,SQL SERVER 能访问所有格式化的数据,要求文本文件有一定格式。
1、通过Microsoft.Jet.OLEDB.4.0连接成一个SERVER,再象访问一般连接数据库一样用SQL语句访问。以下一段从SQL SERVER帮助拷贝,是说明这个用法的。
2、用1法建立的连接SERVER,也可以通过OPENQUERY访问,具体可以看SQL SERVER的帮助。
3、非格式化的一些数据可以用xp_cmdshell调用DOS命令来写入文本文件,如这个小例子,写入一个变量到文本文件这段代码可以修改后嵌到你的存储过程里:
DECLARE @var varchar(100)
DECLARE @i int
DECLARE @cmd sysname
set @i=120
SET @var = '@i='+cast(@i as varchar(10))
SET @cmd = 'echo ' + @var + ' > VarOut.txt'
EXEC master..xp_cmdshell @cmd
- 浏览: 13824 次
相关推荐
查看SQL SERVER 加密存储过程 查看SQL SERVER 加密存储过程
介绍就不多说了,下边是部分目录,觉得有用的话就顶一个 C:. │ sqlserver2000.txt │ ├─第01章 │ 1.9.1 设置内存选项.sql │ 1.9.2(2) 使用文件及文件组.sql │ 1.9.2(3) 调整...
未及时包括在本自述文件中的任何有关 SQL Server 2005 和 SQL Server Express 的信息都将发布到 Microsoft 知识库文章 907284 中。 [顶部] 3.0 安装问题 本部分详细介绍此版本中的安装问题。 3.1 现有的 SQL ...
文章目录一....如何防止SQL注入(1)不要使用动态SQL(2)不要将敏感数据保留在纯文本中(3)限制数据库权限和特权(4)避免直接向用户显示数据库错误(5)使用Web应用程序防火墙(WAF)(6)将数据库更新为最新的可用
使用SQL存储过程有什么好处 ■SQL存储过程执行起来比SQL命令文本快得多。当一个SQL语句包含在存储过程中时,服务器不必每次执行它时都要分析和编译它。
查看sql加密存储过程
本书不但融合了作者在使用SQL Server 2000过程中遇到的各种常见问题和应用案例,还总结了作者几年来在CSDN 社区SQL Server版所解决的大量问题,面向实际项目需求,涉及不同类型的应用,能够多角度地引导读者学习相关...
5.4 在SQL Server中存储图像和大型文本 5.5 在SSMS中创建表 5.6 通过查询编辑器定义表 5.7 定义表:使用模板 5.8 创建模板和修改模板 5.9 ALTER TABLE命令 5.10 定义其余的表 5.11...
上图存储过程调用了mup_GetA(我把和项目相关的命名都擦除掉了) 上图通过sqlserver 图形管理器自带的功能查看依赖于mup_GetA的对象。 结果有点雷人,居然没有列出mup_GetB 来(我使用的是sql server 2005) 下面是...
sp_GenMerge SQL Server存储过程生成带有数据的合并语句。 说明:快速有效地生成带有数据的MERGE语句,该语句将根据目标表中源中的源键执行INSERT / UPDATE / DELETE。典型用例: 为静态字典生成脚本,将.sql文件...
同时支持sqlserver,oracle,MySql ,代码差异高亮显示 具体功能 介绍博客有图片 :https://blog.csdn.net/wwja_chen/article/details/89336728 如开发库和正式库之间的结构和数据同步,此工具可以告诉您哪个表结构有...
命名都采用英文字符,每个单词的首个字母要大写 2.7 SQL语句的编写规范 数据库中存储过程和触发器中涉及大量的SQL语句,对SQL语句的编写规范如下: 关键字大写:在SQL语句的编写中,凡是SQL语句的关键字一律大写,如...
包含四个数据集,分别从english20newsgroup、reuters 中提取,分别为500条记录,各含五类,每类文档数目...从两个母数据库中提取,存储为sqlserver2008格式,可以直接附加,表结构如下!全部进行了标注,可以用来分类或者聚类!
三:尽可能的使用存储过程,安全性能高而且处理速度也快 四:屏蔽SQL,javascript等注入(很是主要的),对于每个文件写是不太可能的。所以要找到对所有文件起作用的办法。我在网上收集了以下3种方法 C#防SQL...
扩展存储过程是SQL Server中的另一类存储过程,它是以其它语言编写的外部程序,是以动态链接库(DLL)形式存储在服务器上,最终SQLServer就可以动态加载并执行它们 编写好后使用SQLServer的固定角色sysadmin...
是文本文件,打开后,自己复制用咯,可以将大部分的汉字翻译为拼音,专门用于在数据库中将省市翻译为拼音
9.4.1 在Access数据库中实现与SQL Server之间的数据交换 288 9.4.2 实现客户端其他OLE DB数据源与SQL Server之间的数据交换 289 9.4.3 在客户端实现SQL Server数据导入与导出处理的一些说明 289 9.5 在数据库...
SQLServer应用程序中的高级SQL注入.tx SQL_ppt sql语句.txt trancount.sql Trigger Test.sql trigger transaction.sql T_sql示例.sql UDF在层次型数据处理中的妙用.txt 《SQL 参考手册》中文版.chm 下线数...
│ sqlserver2000.txt │ ├─第01章 │ 1.9.1 设置内存选项.sql │ 1.9.2(2) 使用文件及文件组.sql │ 1.9.2(3) 调整tempdb数据库的文件属性.sql │ ├─第02章 │ │ 2.1 日期概念理解中的一些测试.sql │ │ ...