码迷,mamicode.com
首页 > 其他好文 > 详细

simple data 安装和使用记录

时间:2015-11-17 12:22:15      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:

simple data 安装和使用记录

simple.data是一个轻量级的、动态的数据访问组件,支持.net4.0。

 

simple.data支持以下数据库:

SQL Server 2005 and later

SQL Server Compact Edition 4.0

oracle

vistadb

mysql 4.0 and later

sqlite 3.0 and later

PostgreSQL

sqlanywhere

informix

Microsoft Access 2000, 2003, and 2007

 

本文记录了使用simple.data连接oracle数据库的过程和遇到的问题,经过一些简单的测试,总结了一些simple.data的优缺点。欢迎各位大神评论指教!

1、开发环境

操作系统:Windows7专业版  64位

开发工具:Microsoft Visual Studio 2012  32位

数据库:oracle 11g

2、添加simple.data组件

1)创建项目:首先创建一个控制台应用程序项目,命名为SimpleDateOracleTest,框架只要是.net4.0以上框架就行。

2)添加Oracle数据库的Simple.Data组件:在这个项目上点右键,选择‘管理NuGet程序包’,在弹出的对话框中,搜索Simple.Data.Oracle关键字,然后在搜索结果列表中选择Simple.Data.Oracle,单击‘安装’按钮,安装完成后,Simple.Data.Oracle的程序集就被引用到项目中了;如下图,其中simple.data.oracle依赖于simple.data.ado,simple.data.ado依赖于simple.data。

 技术分享

如果你对Simple.Data很感兴趣也可以下载源码进行研究:

Simple.Data.Oracle下载地址:https://github.com/flq/Simple.Data.Oracle

Simple.Data下载地址:https://github.com/markrendle/Simple.Data

3)添加Oracle数据库的ADO Provider:在项目中引用Oracle.DataAccess.dll文件,也可以应版本的ODAC,需注意Oracle.DataAccess.dll的版本要和你访问的数据库的版本一致。可以在Oracle数据库所在计算机的OracleHome\odp.net\bin\4\中找到对应版本的Oracle.DataAccess.dll,也可以到Oracle官网上下载对应版本的ODAC进行安装,下载地址:http://www.oracle.com/technetwork/database/windows/downloads/index.html

引用结果如下图:

 技术分享

3、测试

1)编写简单的例子测试是否能够成功连接数据库:代码如下

 技术分享

变量connStr为连接字符串名称;"Oracle.DataAccess.Client"为Oracle数据库的ADO Provider名称;运行程序,结果如下图所示:

 技术分享

2)测试是否能够成功进行数据操作:添加数据库实体类,用来保存数据库查询出来的数据

 技术分享

修改第一步的代码如下

 技术分享

运行程序结果如下图,由图中结果可知,插入数据返回结果为插入的记录内容,修改数据和删除数据返回受影响记录行数。

 技术分享

3)执行速度测试:分别使用SimpleDateOracle,OracleConnection,EF连接同一数据库(这里主要讲SimpleDateOracle,所以使用OracleConnection,EF测试的代码就不提供了),对科室表进行查询(根据主键获取一条数据)和综合(插入一条记录,查询i条记录,删除查询出来的数据)测试,测试结果如下图

 技术分享

 

4、遇到的问题

1)数据库连接时出现错误:未能加载文件或程序集“Oracle.DataAccess, Version=4.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。

原因:本机没有安装4.112.2.0版本的Oracle.DataAccess,或项目中引用的Oracle.DataAccess.dll不是4.112.2.0版本。

解决方法:方法一:到Oracle官网上下载对应版本的ODAC进行安装,下载地址:http://www.oracle.com/technetwork/database/windows/downloads/index.html

本例需找到ODAC112021Xcopy_x64.zip进行安装。安装后可进入vs.net命名行窗口,输入gacutil.exe /l Oracle.DataAccess,查看本机GAC中所有Oracle.DataAccess程序集,确保本机有安装对应版本的Oracle.DataAccess。如下图

 技术分享

方法二:将Oracle数据库所在计算机OracleHome\odp.net\bin\4\Oracle.DataAccess.dll拷贝到项目中,添加引用。

2)数据库连接时出现错误:发生一个或多个错误;内部错误:ORA-12154: TNS:could not resolve the connect identifier specified

原因:数据库连接字符串错误。

解决方法:检查数据库连接字符串是否正确。

3)在服务器上的运行数据查询时出现错误:关于未能加载文件或程序集“Oracle.DataAccess, Version=4.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342”或它的某一个依赖项。试图加载格式不正确的程序的解决方案

原因:32位/64位版本问题

解决方法:设置项目生成目标平台为Any CPU如图:

技术分享

4)查询数据时出现错误:Table ‘MAPP1.cw_khxx‘ not found, or insufficient permissions.

原因:所访问的表不是该用户的表,在SimpleDateOracle源码中可以看到其底层获取用户表的语句如下

select object_name, object_type

from user_objects

where object_type in (‘VIEW‘,‘TABLE‘)

所以,在PLSql中执行该语句,找不到的表是不能进行操作的。

5、优缺点

1)优点:超轻量级,支持多种数据库,代码编写简单方便

2)缺点:无法进行多用户表操作,需要对数据库表结构比较了解

6、参考链接

学习simple.data之基础篇:

http://www.cnblogs.com/hj4444/p/3974046.html

oracle odp.net 32位/64位版本的问题:http://www.cnblogs.com/yjmyzz/archive/2011/04/19/2020793.html

http://www.xuebuyuan.com/167621.html

ODAC 64位下载地址:

http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html

Simple.Data.Oracle源码下载地址:https://github.com/flq/Simple.Data.Oracle

Simple.Data源码下载地址:https://github.com/markrendle/Simple.Data

 

simple data 安装和使用记录

标签:

原文地址:http://www.cnblogs.com/shelenty/p/4970789.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!