日期:2009-04-25  浏览次数:20786 次

SPL 3.0正式发布,升级说明

经过一段时间的修改,SPL终于升到3.0了,之所要升到3.0,主要是因为增加了两种连接方式:ODP.NET与ODBC

ODP.NET极大了增强了SPL对Oracle数据库的访问能力,目前使用ODP.NET连接Oracle是最佳的选择,相关的文章可以在网上找一下,蛮多的。

ODBC是.NET Framework1.1新增的功能,可以对其他类型的数据库采用ODBC的连接方式。

因此上面两种连接方式的增强,使SPL可以更强的支持多种数据库.

SPL3.0在上一版本2.0的基本上修订了部分BUG并主要是增加了一些新功能。

SPL3.0修订的BUG:

1. 对Oracle数据库进行日期比较时报错,是由于Oracle的日期比较不象SQL一样,可以直接使用字符串方式,而是要采用to_date()转换,目前对于Oracle数据库连接进行了这方面的自动转换,支持连接类型为:Oracle和ODP

2. 修订了多主键个的删除报错,3.0在使用entity.Delete()时不会再报错了。

3. SPL2中对于数字列使用AddMatch()、AddMatchPrefix(),系统会报错,3.0已经对此修复,在3.0中所有的Match操作对数字列同样生效了。



SPL3新增功能:

1. 添加了对ODP.NET连接Oracle的连接,这是目前.NET连接Oracle最佳的连接方式,只需在安装一下ODP.NET92,在SPL的数据库配置DatabaseMap中使用type="ODP"即可.

2. 添加了Query的Top功能,这个Top功能跟RetrieveCriteria相同,主要作用于SQL的环境,因为目前SPL使用Top会产生“Select top n”这样的效果语句,因此对于Oracle目前不支持此种方式。

3. Condition条件类添加了后缀匹配功能AddMatchSuffix ,会生成类似于 like ‘%AA’效果

4. Conditiont条件添加了后缀不匹配功能AddNotMatchSuffix,会生成类似于 not like ‘%AA’效果

5. 增加了对Obdc连接的支持,在.NET可以使用System.Data.Obdc的连接方式,只要在数据库连接时配置为type=’Odbc’即可以使用Obdc连接方式。关于连接方式会单独列一章讲述。

6. 扩展了连接方式,使SPL不再局限于下面的连接方式:Setting.Instance().DatabaseMapFile=Server.MapPath(DatabaseXml);

而是可以手动增加数据连接,手动配置ClassMap加载,这将方便SPL与其他系统的集成。关于数据连接方面,会单独一章讲述。

7. 对存储过程增加了CommandTimeOut控制,由于在存储过程执行中,有时存储过程会比较耗时,需要对CommandTimeOut进行手动控件,默认为30秒,0为无限制。对RunProcedure进行覆盖如下:

Query.RunProcedure(string storeProcName,IDataParameter[] ps,string dbName,int commandTimeout)

Query.RunProcedure(string storeProcName,IDataParameter[] param,out int affected,string dbName,int commandTimeout)




发布方式与上次的2.0一样,只要下载我的示例源代码,有详细的使用说明:
SmartPersistenceLayer 3.0 示例源代码下载:http://www.cnblogs.com/Files/tintown/SPL_WebTest3.0.rar

非常感谢2.0发布以后,大家对SPL的支持。