SQL SERVER 调用 Webservice
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL SERVER 调用WebService
1.新建xml 内容如下(C#)
<wsdlParameters xmlns='/webReference/'>
<language>c#</language>
<protocol>Soap</protocol>
<nologo>true</nologo>
<sharetypes>false</sharetypes>
<webReferenceOptions>
<codeGenerationOptions>properties
oldAsync</codeGenerationOptions>
</webReferenceOptions>
</wsdlParameters>
2.运行: C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\wsdl.exe /par:上述XML路
径要调用的Webserives地址
如:
3.建立解决方案:
4.添加导入引用第二步生成的文件5.添加
6.添加函数(触发器等)
7.在函数主体写入要执行的方法,该方法将被触发器调用。
8. 将解决方案生成属性----数据库权限级别设置为外部等
9. 将生成---生成序列化程序集设置为开
10. 安装部署【项目右键进行部署】程序集:
以下要注意:如果部署不成功,请设置你调用的数据库的ALTER DATABASE 数据库名 SET TRUSTWORTHY ON 属性
或者改变8,9步骤的设置权限
11. 右键点击SQL management studio中对象资源管理器中“程序集”文件夹,选择“新建程序
集*.XmlSerializers.dll.
当报错:System.InvalidOperationException: Cannot load dynamically generated serialization assembly. In some hosting environments assembly load functionality is restricted, consider using pre-generated serializer. Please see inner exception for more information. --->
System.IO.FileLoadException: LoadFrom(), LoadFile(), Load(byte[]) and LoadModule() have been disabled by the host.
原因是少部署了一个DLL。
当我们查看VS项目的BIN目录,会发现生成了两个DLL文件:WebServiceConsume.dll 和WebServiceConsume.XmlSerializers.dll.后面一个DLL用来在WEB SERVICE调用时候进行序列化和反序列化,它没有被自动部署到SQL SERVER数据库中。
我们
需要进行手工部署:右键点击SQL management studio中对象资源管理器中“程序集”文件夹,
选择“新建程序集”…
12 调用上述所建函数:
如报错,试着运行
如禁止在 .NET Framework 中执行用户代码。
启用"clr enabled" 配置选项
,试着运行
--exec sp_configure 'show advanced options', '1';
--go
--reconfigure;
--go
--exec sp_configure 'clr enabled', '1'
--go
--reconfigure;
--exec sp_configure 'show advanced options', '1';
--go
参考文章:/db/2007-09-11/200709111157063.shtml =。