您的位置:首页 > 数据库 > Oracle

Microsoft.Practices.EnterpriseLibrary连接Oracle

2013-01-10 11:06 453 查看
Microsoft 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐