使用VS 2005 在SQL Server 2005 中创建自定义函数 UDF 时发生的问题
来源:互联网 发布:短信平台数据库设计 编辑:程序博客网 时间:2024/05/01 20:16
问题一:
对自定义的 Function 和 Store Procedure ,因必须使用限定词: static 静态类型,故其中的Porject 级别的方法和属性及变量,必须为 Static 类型。方法内部定义的变更则不受限定。否则会出错。
问题二:
如需要在Function 中读取SQL Server 中的内容,需要在其属性标识中加入DataAccess 属性。
[Microsoft.SqlServer.Server.SqlFunction(Name = "f_FunctionName", DataAccess = DataAccessKind.Read)]
问题三:
在 UDF 或 SP 中联接 SQL Server ,则需要使用如下方式定义联接:
SqlConnection cnn = new SqlConnection("Context Connection=true")
问题四:
无法调用已加引用的 Web Server , 出现以下错误:
The type or namespace name 'wsROD' could not be found (are you missing a using directive or an assembly
==> 解决方法:
在Web Service 名称前加上当前Project 对应的 Namespace 即可解决,如: SPS_Assembly.wsTest
问题五:
在自定义 Function 中使用了 Web Service 后, 在调试时,运行到Create Web Serivce 时出现以下错误:
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.
==> 解决方法:
1, 在Project 的 Property 属性设定界面,打开 Build 面板,对属性: Generate serialization assembly 的值,选择"ON"; --- 让程序在Build 时可以生对应的的序列化使用的dll, 如 MyAssembly.XmlSerializers.dll
2, 打开 Database 面板,对属性 Permission Level 选择 "unsafe" 值, 如不使用 unsafe ,则会出现以下错误:
assembly 'MyAssembly' is storing to a static field. Storing to a static field is not allowed in external_access assemblies
3, Build , 然后 Deploy 此Porject;
4, 此时测试时会出现错误,主要原因是由于 Web Service 对应的序列化使用的dll 未放入 SQL Server 的 Assembly 目录中;
5, 将bin/debug 目录下的 MyAssembly.XmlSerializers.dll 序列化 dll 加入 SQL Server 的 Assembly 中:
在 Assemblies 目录中,右击,选择 New Assembly ..., 在打开的Form 中指定序列化dll 的目录,并指定 Pemission set 的安全等级为 unsafe.
注意此中的序列化dll 一定要和MyAssembly.dll 是同一时间Build 并产生的.
6, 此时即可进行测试。
可能的其它SQL DB 配置问题,可试着使用以下Script 变更配置:
EXEC sp_configure @configname = 'Show Advanced Options', @configvalue = 1
RECONFIGURE WITH OVERRIDE
GO
EXEC sp_configure
EXEC sp_configure @configname = 'clr enabled', @configvalue = 1
RECONFIGURE WITH OVERRIDE
GO
reconfigure
ALTER DATABASE CBIF_PREVIEW SET TRUSTWORTHY ON
相关参考资料:
Dynamic Assembly Loading
http://blogs.msdn.com/sqlclr/archive/2006/10/18/dynamic-assembly-loading.aspx
在SQL SERVER 2005中调用Web Service
http://tech.it168.com/db/2007-09-11/200709111157063.shtml
- 使用VS 2005 在SQL Server 2005 中创建自定义函数 UDF 时发生的问题
- SQL SERVER 2005 UDF
- SQL Server UDF用户自定义函数
- vs 或 Sql server2012连接Sql server时出现的问题:已成功与服务器建立连接,但在登陆过程中发生错误
- vs 或 Sql server2012连接Sql server时出现的问题:已成功与服务器建立连接,但在登陆过程中发生错误
- 关于“使用VS 2005和SQL Server 2005创建连接时不允许进行远程连接”的问题的解决
- sparksql udf自定义函数中参数过多问题的解决
- SQL SERVER 2005 .NET UDF
- SQL SERVER用户自定义函数的创建和使用
- SQL SErver存储过程和用户自定义函数UDF
- 初学.net中ajax控件 updatePanel VS 2005 使用发生的一个问题
- 使用VS 2005和SQL Server 2005创建连接
- 关于java EE 中Hibernate 应用在MyEclipse 中创建对SQL Server 2005的连接问题
- Hive 中自定义UDF函数
- hive中使用自定义函数(UDF)实现分析函数row_number的功能
- hive中使用自定义函数(UDF)实现分析函数row_number的功能
- 1.在sql server 2000 或者 2005中使用sql语句创建数据库
- 编写hive udf和使用hive udf:hue的hive界面中使用hive udf函数、oozie使用hive udf函数、hive命令行使用udf函数
- 我做了一个EXE文件,想在SQL Server上定时执行这个EXE文件,如何实现
- NHibernate Howto
- CSS选择器的优先级
- 字节序(Endian),大端(Big-Endian),小端(Little-Endian)
- 内容审查程序
- 使用VS 2005 在SQL Server 2005 中创建自定义函数 UDF 时发生的问题
- java学习之Jdbc (jdk、tomcat)
- 写给西方陨落的“太阳”----------------SUN
- 送给1987年左右的朋友,看完是不是有些泪水
- Raphaël 编写的Bar Chart
- Copy-on-write
- ASN.1编码方式研究
- 观星赏灯
- Dynamic loading