利用配置文件实现SQL Server与Oralce访问类的转换

现在微软提供了一种方法,也是微软示例PetShop提供的解决方式;即使用Assembly反射加载访问数据库的类。

首先,创建一个空白解决方案,名字为:TestChangeDataBase,然后添加一个C#类库工程,名字叫DBHelper,然后在类库工程里创建一个接口IDAL,具体代码如下:


namespace DBHelper
{
    public interface IDAL
    {
        DataSet GetDataSet(string query);
    }
}

保存后,关闭这个接口文件;再创建一个类文件OracleHelper.CS,用以访问Oracle数据库:此类要实现IDAL接口
示例代码如下:

using System;
using System.Data;
using System.Configuration;
using System.Web;


using System.Data.OracleClient;

///


/// 访问Oracle数据库
///
///
namespace DBHelper
{
    public class OracleHelper : IDAL
    {
        public OracleHelper()
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //
        }

        #region IDAL 成员

        public DataSet GetDataSet(string query)
        {        
            OracleConnection con = new OracleConnection(ConfigurationSettings.AppSettings["oracle"]);
            OracleDataAdapter da = new OracleDataAdapter(query, con);
            DataSet ds = new DataSet();
            da.Fill(ds);
            return ds;
        }

        #endregion
    }
}

保存,关闭此此文件,再创建一个类文件SQLHelper.CS,用以访问SQL-Server数据库,此类也要实现IDAL接口,示例代码如下:

using System;
using System.Data;
using System.Configuration;
using System.Web;

using System.Data.SqlClient;
///


/// SQLHelper 的摘要说明
///
///
namespace DBHelper
{
    public class SQLHelper : IDAL
    {
        public SQLHelper()
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //
        }

        #region IDAL 成员

        public DataSet GetDataSet(string query)
        {
            SqlConnection con = new SqlConnection(ConfigurationSettings.AppSettings["sqlserver"]);
            SqlDataAdapter da = new SqlDataAdapter(query, con);
            DataSet ds = new DataSet();
            da.Fill(ds);
            return ds;
        }

        #endregion
    }
}

保存,关闭此文件.在解决方案视图,右击DBHelper,选择生成,生成工程。向解决方案中添加一个Web工程,名字叫TestWebSite,给此Web工程添加引用–项目–选择DBHelper工程.并给此Web工程添加Web.Config配置文件,并添加如下节点:

注:这是用VS2005开发要配置此节,如用VS2003,则配置如下:

本文是以VS2005为基础开发的

配置完毕后,保存,关闭文件,打开默认的页Default.aspx,要设计视图,向此页添加一个GridView控件,再打开代码隐藏文件:Default.aspx.cs,编辑代码

完整代码如下:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Reflection;
using DBHelper;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
       //在此处可以采用读取配置文件的方式,则可以实现动态加载,这里仅做个示例

       /* * IDAL dbHelper = (IDAL)Assembly.Load("DBHelper").CreateInstance(ConfigurationSettings.AppSettings["sqlHelper"]);

*/
        IDAL dbHelper = (IDAL)Assembly.Load("DBHelper").CreateInstance("DBHelper.OracleHelper");

//SQL 语句也可以在配置文件中配置
        DataSet ds = dbHelper.GetDataSet("select * from emp");
        this.GridView1.DataSource = ds;
        this.GridView1.DataBind();
    }
}

全部完成后,选择Web工程为启动项目,启动测试,OK!

【编辑推荐】

  1. 使用Oracle数据库实现Python数据持久
  2. PHP将数据从Oracle向Mysql数据迁移实例
  3. Oracle与SQL Server选型时需考虑的差异

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/307457.html<

(0)
管理的头像管理
上一篇2025-05-27 03:25
下一篇 2025-05-27 03:26

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注