把xml数据直接插入到sqlserver数据库
2015-07-08 17:28
295 查看
存储过程:
因为执行 sp_xml_preparedocument 时有可能会返回一个 “文本内容中发现无效字符”错误( 出现原因是xml中存在汉字),需要在xml里加入头部信息,如果 xml为varchar,则加入<?xml version="1.0" encoding="gb2312" ?> , 或者 直接把 xml类型改成nvarchar,就不会出现错误了
ALTER proc [ali].[ins_冻结金额表] @xmldoc varchar(max), @userGid varchar(100) as declare @idoc int exec sp_xml_preparedocument @idoc output,@xmldoc insert into ali.user冻结金额表 select newid(),@userGid,*,getdate() from openxml(@idoc,'/alipay_user_account_freeze_get_response/freeze_items/account_freeze',2) with(freeze_amount decimal(18,2),freeze_name varchar(50),freeze_type varchar(50)) exec sp_xml_removedocument @idoc -- 释放内存,因为调用sp_xml_preparedocument 时,会占用sqlserver总内存的 八分之一,所以用完要立即消除
因为执行 sp_xml_preparedocument 时有可能会返回一个 “文本内容中发现无效字符”错误( 出现原因是xml中存在汉字),需要在xml里加入头部信息,如果 xml为varchar,则加入<?xml version="1.0" encoding="gb2312" ?> , 或者 直接把 xml类型改成nvarchar,就不会出现错误了
相关文章推荐
- IBM SPSS Modeler 配置使用 Netezza 数据库
- 板子上mysql热备份
- 数据库中的事务日志
- MYSQL线程池总结
- oracle exp(dmp)命令带过滤条件?
- SQL2005语句实现行转列,列转行
- 整理下ci框架下ajax的异步传输!
- win7下配置mysql环境变量
- IBM SPSS Modeler 配置使用 DashDB 数据库
- memcached全面剖析–5. memcached的应用和兼容程序
- memcached全面剖析–4. memcached的分布式算法
- Mysql基本操作
- 'mysql' 不是内部或外部命令,也不是可运行的程序 解决方法
- memcached全面剖析–3.memcached的删除机制和发展方向
- 数据表的基本操作(二)
- memcached全面剖析–2.理解memcached的内存存储
- memcached完全剖析–1. memcached的基础
- [SQL入门级] 接上篇,继续查询
- 使用PowerDesigner 设计SQL Server 数据库
- 在C#应用程序中,利用表值参数过滤重复,批量向数据库导入数据,并且返回重复数据