易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL Server CLR全功略之五

一、这是这个系列的最后一节了,自定义复杂数据类型目前只能通过CLR来实现。为了在 SQL Server 中运行,您的 UDT 必须实现 UDT 定义中的以下要求:
1.该 UDT 必须指定 Microsoft.SqlServer.Server.SqlUserDefinedTypeAttribute。System.SerializableAttribute 可选用,但建议使用。
2.UDT 必须通过创建公共的 static(Microsoft Visual Basic 中为 Shared)Null 方法,在类或结构中实现 System.Data.SqlTypes.INullable 接口。默认情况下,SQL Server 是可识别 Null 的。这是为使在 UDT 中执行的代码能够识别 Null 值所必需的。
3.UDT 必须包含支持从其进行分析的公共 static (或 Shared)Parse 方法以及用于转换到对象的字符串表示形式的 ToString 方法。
4.具有用户定义序列化格式的 UDT 必须实现 System.Data.IBinarySerialize 接口并提供 Read 和 Write 方法。
5.该 UDT 必须实现 System.Xml.Serialization.IXmlSerializable,或者所有公共字段和属性必须均属于 XML 可序列化类型或者使用 XmlIgnore 属性进行修饰(如果要求替代标准序列化)。
6.一个 UDT 对象必须只存在一个序列化。如果序列化或反序列化例程识别了某一特定对象的多个表示形式,则验证将失败。
7.为了确保服务器将字节顺序的比较用于 UDT 值,SqlUserDefinedTypeAttribute.IsByteOrdered 必须为 true。
8.在类中定义的 UDT 必须具有不采用任何参数的公共构造函数。您可以选择创建其他重载类构造函数。
9.该 UDT 必须将数据元素作为公共字段或属性过程公开。
10.公共名称不能长于 128 个字符,并且必须符合在标识符中定义的针对标识符的 SQL Server 命名规则。
11.sql_variant 列不能包含 UDT 的实例。
12.继承的成员无法从 Transact-SQL 访问,因为 SQL Server 类型系统不知道 UDT 中的继承层次结构。但是,您可以在创建类的结构时使用继承,并且可以在该类型的托管代码实现方式中调用此类方法。
13.成员不能被重载,但类构造函数除外。如果您创建某一重载方法,则在 SQL Server 中注册程序集或创建类型时将不会引发错误。在运行时将检测到重载的方法,而不是在创建类型时检测到。只要永不调用重载的方法,重载的方法就可以存在于类中。一旦您调用重载的方法,就会引发错误。
14.任何 static(或 Shared)成员都必须声明为常量或声明为只读。静态成员将无法改变。
15.从 SQL Server 2008 开始,如果 SqlUserDefinedTypeAttribute.MaxByteSize 字段


相关文档:

Sql Server发邮件配置

 前提:安装sqlserver,安装outlook,outlook已经正确配置。
    (1)配置sqlserver的启动用户为域用户。sqlserver启动默认的本地账户,本地账户启动的服务是无法完成邮件的发送接受功能的。
     配置域用户启动:打开控制面板的--管理工具--服务,找到sqlserver服务,查看属性。� ......

Sql Server2005实现远程备份数据库

 
相信大家都在当心数据库的丢失,这也是每个开发者头痛的一件事件,因为正在运行的服务器及数据库也在这台服务器上。如果服务器崩溃,那么所有的数据
都不存在了,就算是你在你的机子上做了备份,那也是没有用的,为什么会这样说主要是因为本机是向互联网公开的,所以出事故的概率就比较高。最终我们可以利
用局域 ......

sql编译与重编译

sql编译与重编译
 
1.sp_recompile
使存储过程和触发器在下次运行时重新编译。
2.sp_refreshview
如果视图所依赖的基础对象发生更改(如:表增加了一个字段),则视图不会自动更新,这时需要调用该存储过程来对视图进行刷新。有人说,重新打开一下视图就可以更新视图,但我试了没有成功。
例1:刷新指定名称的视图 ......

SQL注入攻击的原理及其防范措施

转:http://blog.csdn.net/flyfranker/archive/2009/01/08/3733764.aspx
 ASP编程门槛很低,新手很容易上路。在一段不长的时间里,新手往往就已经能够编出看来比较完美的动态网站,在功能上,老手能做到的,新手也能够做到。那么新手与老手就没区别了吗?这里面区别可就大了,只不过外行人很难一眼就看出来罢了。在界 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号