SPL3.0数据连接详解

数据|详解

SPL3.0数据连接详解

SPL3.0数据支持能力

SPL3.0在数据连接方面作了很大的改进,使用多种方式对多种数据库进行连接访问,让用户有了更多的选择,

支持的数据库有:SQL Server 、Access、Oracle、其他ODBC连接

支持的连接方式有:

用System.Data.SqlClient访问SQL Server

用System.Data.OleDb访问Access和Oracle

用System.Data.Odbc访问SQL Server、Oracle等其他ODBC连接

用ODP.NET连接Oracle数据库

用户可以根据自己的喜好,自由选择这些连接方式,这使SPL3.0具有较强的数据库支持能力,下面详细介绍一下如何进行这些连接。

SPL3.0连接配置方式

SPL3.0在连接配置方式上作了很大的扩展,以前的方式是使用Setting.Instance().DatabaseMapFile=”DatabaseMap配置文件”;

这种方式是SPL中推荐的方式,连接配置相当简单,系统会自动加载数据库连接与O/R Mapping信息。但这种方式适用于整个系统都采用SPL框架,如果SPL只是在原老系统插入,那么应该采用另一种手动配置的方式。

还有在大系统中,我们可能会遇到多帐套数据连接,也就是动态加载数据库连接的,象这种采用上面的方式都不太合适了。

为此SPL3.0扩展了另外一种配置数据库连接的方式:

Setting.Instance().AppendDatabase(string name,DatabaseType databaseType,string connectionString);

参数:

name:指数据源名称,这是SPL中提出的一种概念,也就是一个数据源名称决定了一个数据连接,在业务中使用此数据源名称就可以指定数据连接操作了。

databaseType:这是一个枚举型的,标明使用哪种方式进行数据访问:

DatabaseType.MsSqlServer 这是使用SqlClient访问SQL Server数据库

DatabaseType.MsAccess 这是使用OleDb访问Access数据库

DatabaseType.Oracle 这是使用OleDb访问Oracle数据库

DatabaseType.ODP 这是使用ODP.NET访问Oracle数据库

DatabaseType.Odbc 这是使用Odbc访问SQL Server、Oracle等ODBC连接

connectionString:这是指连接字符串,根据不同的连接给出正确的连接字符串即可。

如:Setting.Instance().AppendDatabase("northwind",DatabaseType.Odbc,"Driver={SQL Server};Server=localhost;UID=sa;Pwd=both;Database=Northwind");

这种方式一般是在Setting.Instance().DatabaseMapFile的基础上添加数据库追加,因为这种方式没有加载O/R Mapping信息,这种方式用于多帐套.

SPL3.0扩展了单独装载O/R Mapping的功能:

Setting.Instance().LoadClassMap(Server.MapPath(this.m_ApplicationPath+"Config/ClassMap.xml"));

如果要单独使用Append追加数据库连接则需要在加载数据时也要加载O/R Mapping信息:

Setting.Instance().AppendDatabase(string name,DatabaseType databaseType,string connectionString,string ClassMapPath);

参数:

前面的参数跟上面的一样;

ClassMapPath: 这是O/R Mapping文件的地址,是绝对地址啊,如:

Setting.Instance().AppendDatabase("northwind",DatabaseType.Odbc,"Driver={SQL Server};Server=localhost;UID=sa;Pwd=both;Database=Northwind",Server.MapPath(this.m_ApplicationPath+"Config/ClassMap.xml"));

总结

SPL3.0支持的数据库更多了,支持多种连接方式,而且在配置上更加灵活多样了,可以适应各种情况:

1.SPL支持系统全部的建议采用DatabaseMapFile的方式指定装载的DatabaseMap文件,如果在这基础上支持多帐套,可以采用AppendDatabase的方式追加,也可以手动装载补充O/R Mapping信息。

2.如果SPL是要集成到原有系统中,为了利用原系统的数据连接,可以使用AppendDatabase在配置连接同时加载O/R Mapping信息。

SPL3.0的数据连接比一般的数据访问多一个O/R Mapping信息装载,这是使用持久层时必须实现的。希望SPL3.0的这些数据访问功能能为你提供更多的选择。

时间: 2024-11-01 13:53:11

SPL3.0数据连接详解的相关文章

MySQL数据库函数详解(1)

mysql|函数|数据|数据库|详解 (1) int mysql_affected_rows([int link_id]); 在给定的连接中,返回由最近的DELETE.INSERT.REPLACE或者UPDATE语句所作用的行数.如果没有行 被修改,则mysql_affected_rows()返回0,如果出现错误,则返回-1. 在SELECT查询之后,mysql_affected_rows()返回所选择的行数.但一般是与SELECT语句一道使用 mysql_num_rows(). 使用范例: <

MySQL数据库函数详解(2)

mysql|函数|数据|数据库|详解 5) int mysql_data_seek(int result_id, int row_num); 由SELECT查询返回的每个结果集都有一个行游标,指示下一个提取行的函数(mysql_fetch_array().mysql_fetch_object()或者mysql_fetch_row())调用将返回哪一行.mysql_data_seek()将给定结果集的指针设置到给定的行.行号的范围为0到mysql_num_rows()-1.如果行号合法,则mysq

php float浮点型数据应用详解

php教程 float浮点型数据应用详解 1 float round ( float $val [, int $precision ] ) 返回将 val 根据指定精度 precision (十进制小数点后数字的数目)进行四舍五入的结果.precision 也可以是负数或零(默认值).      echo round(4.3)  //4 2 string sprintf ( string $format [, mixed $args [, mixed $... ]] ) 返回格式化数据的字符串

ajax 异步数据操作详解(1/3)

ajax 异步数据操作详解 AJAX全称为"Asynchronous JavaScript and XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. 主要包含了以下几种技术: Ajax(Asynchronous JavaScript + XML)的定义 基于web标准(standards-based presentation)XHTML+CSS的表示: 使用 DOM(Document Object Model)进行动态显示及交互: 使用 XML

JavaScript处理解析JSON数据过程详解_javascript技巧

JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧. JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包. JSON的规则很简单: 对象是一个无序的"'名称/值'对"集合.一个对象以"{"(左括号)开始,"}"(右括号)结束.每个"名称"后跟一个":"(冒号):"

以HANA为核心 SAP实时数据平台详解

文章讲的是以HANA为核心 SAP实时数据平台详解,在收购Sybase之前,SAP还不算是个数据库厂商,但其在ERP市场的地位举足轻重.那时的SAP只能通过与其他厂商合作来满足其商务套件的数据库需求,其中最大的合作伙伴就是甲骨文.SAP每年销售约10亿美元的甲骨文数据库,这对于SAP而言就如同在竞争对手的身上撒钱. 由此,Sybase对SAP的意义不言而喻.收购之初,Sybase在全球的数据库业务有超过一万个客户,拥有5%的全球市场占有率,在中国数据库市场这个比例达到18%,被认为是继Oracl

Linux系统下mysqlcheck修复数据库命令(详解)_Mysql

mysqlcheck客户端工具可以检查和修复MyISAM表,还可以优化和分析表. 实际上,它集成了mysql工具中check.repair.analyze.optimize的功能. 有3种方式来调用mysqlcheck: shell> mysqlcheck[options] db_name [tables] shell> mysqlcheck[options] ---database DB1 [DB2 DB3...] shell> mysqlcheck[options] --all--d

【体系结构】Oracle数据块详解

Oracle数据块详解 操作系统块是操作系统读写的最小操作单元,也是操作系统文件的属性之一.当创建一个Oracle数据库时,选择一个基于操作系统块的整数倍大小作为Oracle数据库块的大小.Oracle数据库读写操作则是以Oracle块为最小单位,而非操作系统块. 数据库块也称逻辑块或Oracle块,它对应磁盘上一个或多个物理块,它的大小由初始化参数DB_BLOCK_SIZE决定,可以定义数据块为2K.4K.8K.16K.32K甚至更大,默认Oracle块大小是8K.若一旦设置了Oracle数据

Android json数据解析详解及实例代码

Android json数据解析详解 移动开发经常要与服务器数据交互,也常使用json数据格式,那就说说Android json解析. 1.最简单json格式解析如下: //解析json ry { JSONTokener jsonParser = new JSONTokener(strResult); JSONObject jsonObj = (JSONObject) jsonParser.nextValue(); String strsportsTitle = jsonObj.getStrin