位置: 编程技术 - 正文
其实大家都知道sql语句的错误信息都可以在sys.messages表里面找到
如:
如果在执行语句在try...catch中 我们可以通过以下方法获取错误信息。sql语句如下:当然我这里是故意用RAISERROR再次抛出错误信息,运行结果如下:
现在我们来定义一个存储过程,其目的就是往本地文件中写入信息。
sql脚本如下:----------------------------------------然后执行该存储过程:如果遇到以下错误则说明Ole Automation Procedures没有启用
需要执行以下SQL:运行即如果如图:
当然这里运行存储过程之前必须保证 文件是存在的。
最后封装一个存储过程获取错误信息,其脚本如下:执行存储过程及结果如下:
以上存储过程在MSSQL、中测试通过。
大家都知道目前在文件系统中事务的实现还是比较复杂的,虽然在win7后我们可以用C#实现文件的事务,但是微软的分布式事务Distributed Transaction Coordinator(msdtc)目前也还不支持文件事务。
这里说说为什么有这样的需求吧:目前需要一个项目用SSIS做数据迁移,其中很大部分都是用sql语句实现的, 如 insert into ....select ... from xxxx.其中原数据库中难免有什么脏数据导致插入失败,于是我在SSIS中使用msdtc服务,保证数据的一致性。虽然SSIS也有错误处理,但是它只能记录那个sql语句有问题,而不能记录具体问题。于是我想到把错误信心记录报数据库表里面,可是当遇到问题时事务会回滚,表里面根本就没有错误信息。于是乎 只能报错误信息记录到文件中了。
如:
有不对的地方还请大家拍砖哦!
推荐整理分享如何将sql执行的错误消息记录到本地文件中实现过程(将sql语句的执行状态传递给主语言的是),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:怎么把sql语句存到文件中,如何将sql执行的数据导出,如何将sql执行的数据删除,将sql语句的执行状态传递给主语言的是,如何将sql执行的数据导入,sql文件如何执行,如何将sql执行的数据导出,如何将sql执行的数据删除,内容如对您有帮助,希望把文章链接给更多的朋友!
获取SQL Server表字段的各种属性实例代码 --SQLServerSELECTa.nameAS字段名,CASEWHENEXISTS(SELECT1FROMsysobjectsWHERExtype='PK'ANDparent_obj=a.idANDnameIN(SELECTnameFROMsysindexesWHEREindidIN(SELECTindidFROMsysindexkeysWHEREid=a.idANDcol
SQLServer日志清空语句(sql,sql,sql) SQLServer日志清空方法在查询分析器中顺序执行以下三步,其中databasename为你的数据库文件名sql日志清空可以将gimoo.ldf文件变得很小,方便备份数据库
SQL SERVER 安装教程图文详解 注意:WindowsXP不能装企业版.winwin服务器安装企业版一、硬件和操作系统要求下表说明安装MicrosoftSQLServer或SQLServer客户端管理工具和库的硬件
友情链接: 武汉网站建设