首页 > 数据库 >Microsoft.Practices.EnterpriseLibrary连接Oracle

Microsoft.Practices.EnterpriseLibrary连接Oracle

时间:2022-12-15 22:34:43浏览次数:48  
标签:数据库 配置 dll 连接 Practices Oracle resultTable null Microsoft

icrosoft Enterprise Library用起来也是挺不错的,对于习惯自己写sql语句的开发者们,这个应该挺好的。下面以连接Oracle为例简单介绍下如何连接数据库。
首先下载Microsoft Enterprise Library 5.0:http://www.microsoft.com/en-us/download/details.aspx?id=15104,
这是一个安装包Enterprise Library 5.0.msi,选择目录后安装。
1、引用dll
安装后在安装目录下找到以下dll:

先复制到项目目录先,并引用。
2、配置连接数据库的配置文件
你可以利用程序配置,也可以生成一个空白文档手动配置。如图,

第一步,运行安装目录下EntLibConfig.exe:

 

第二步,选择blocks菜单配置数据库连接:

 

第三步,配置连接数据库,也可以直接File-save as保存为一个空config文件手动配置:

 

这里是保存一个空的配置进行手动配置,空配置如下:

<configuration>
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
</configSections>
<dataConfiguration defaultDatabase="Connection String" />
<connectionStrings>
<add name="Connection String" connectionString="Database=Database;Server=(local)\SQLEXPRESS;Integrated Security=SSPI"
providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
手动配置,这里以oracle为例进行配置。如下:

<?xml version="1.0"?>
<configuration>
<configSections>
<!--添加配置企业库(1)-->
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings,
Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
</configSections>
<!--添加配置企业库(2)-->
<dataConfiguration defaultDatabase="Oracle.ConnectionString"/>
<!--添加配置企业库(3)-->
<connectionStrings>
<add name="Oracle.ConnectionString" connectionString="Data Source=数据库名;Persist Security Info=True;
User ID=用户名;Password=密码;Unicode=True" providerName="System.Data.OracleClient"/>
</connectionStrings>
</configuration>


好了,这些准备工作完成了,下面看代码中如何使用吧。这里测试读取,当然其他的操作都一样。

public class OracleSqlHelper
{
private static Database db = null;

public static DataSet GetDataTable( string commandText)
{
try
{
DataSet resultDataSet = null;

db = DatabaseFactory.CreateDatabase();//建立数据库连接

resultDataSet =db.ExecuteDataSet(CommandType.Text, commandText);//执行

return resultDataSet;
}
catch (Exception ex)
{
return null;

throw ex;
}
}
}

public class OracleDataProvider
{
public static DataTable TestReadTable(string id)
{
DataTable dataTable = null;

try
{
string commandText = "select tu.name from tabUser tu";

DataSet resultTable = OracleSqlHelper.GetDataTable(commandText);

int table = resultTable != null ? resultTable.Tables.Count : 0;

if (table > 0)
{
dataTable = resultTable.Tables[0];
}
}
catch (Exception e)
{
throw e;
}

return dataTable;
}
}

调用
object result = OracleDataProvider.TestReadTable("110");

当然这里仅仅是企业库进行连接数据库的用法,所以可以将用到的dll复制单独使用。如果针对大型应用的话,当然不会这么简单。应该安装所有dll,并且使用EntLibConfig.exe在block下进行配置所需要的功能的配置文件。

代码下载:http://download.csdn.net/detail/yysyangyangyangshan/4980494
————————————————
版权声明:本文为CSDN博主「杨友山」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yysyangyangyangshan/article/details/8488791

标签:数据库,配置,dll,连接,Practices,Oracle,resultTable,null,Microsoft
From: https://www.cnblogs.com/roak/p/16986150.html

相关文章

  • 一:OEL6.9x64 安装Oracle11gR2
    标签(空格分隔):Oracle系列一:系统环境介绍系统:oraclelinux6.9x64主机名:cat/etc/hosts----172.16.10.41flyfish41172.16.10.42flyfis......
  • 15.Oracle事物
    简介oracle事物主要用于保持oracle数据库的数据一致性,oracle事物可以看成一个SQL块的整体,只要某一个SQL语句错误,那么事物中的SQL被看做一个整体,一起回滚,要么就是一起成功全......
  • 10.Oracle存储过程
    1.Oracle存储过程语法结构create[orreplace]procedure过程名(p1in|outdatatype,p2in|outdatatype,...pnin|outdatatype)is....--声明部......
  • 9.Oracle创建函数
    1.Oracle创建函数Oracle创建函数是通过PL/SQL自定义编写的,通过关键字function按照自己的需求把复杂的业务逻辑封装进PL/SQL函数中,函数提供一个返回值,返回给使用者。组成部......
  • 11.Oracle游标
    Oracle游标简介:Oracle游标是通过关键字CURSOR的来定义一组Oracle查询出来的数据集,类似数组一样,把查询的数据集存储在内存当中,然后通过游标指向其中一条记录,通过循环游标达......
  • oracle 建表时表空间的一些参数pctfree initrans maxtrans storage的含义
    createtableX_SMALL_AREA(idx_idNUMBER(20)notnull,pss_idx_idNUMBER(20),update_logVARCHAR2(512),update_dateDATE,constrai......
  • (转载)[Oracle]11g内存占用调整步骤(解决内存占用过大问题)
    开发用的电脑,内存升级到了40G,发现Oracle服务占用内存特别大,甚至高达9个G,搜索了以下,貌似是因为Oracle默认设置占用内存是内存的1/8,照这个数看应该是指物理内存加虚拟......
  • oracle中定时任务interval
    最简单的,一段时间执行一次:--每隔两天执行一次sysdate+2--每12个小时执行一次sysdate+1/2--每分钟执行一次sysdate+1/24/60--每2分钟执行一次sysdat......
  • Oracle表空间概念及操作
    表空间,顾名思义,就是一张表所存在的空间。一个表同时只能存在于一个表空间,不同表空间的表是相互隔离的,可以取相同的名字。 在数据库只有一个实例的情况下,如果要实现数......
  • Oracle12C查询自建用户(非系统自带)
    selectusernamefromdba_userswhereINHERITED='NO'; SELECTusername,account_statusfromdba_userswhereaccount_status='OPEN'andusernamenotlike'%SYS......