新聞中心
本文為您介紹了DB2 9.0+提供的ADO.NET Provider,ADO.NET Provider支持.NET 2.0,方面了使用DB2作數(shù)據(jù)訪問(wèn)。如果您對(duì)此有興趣,不妨一看,會(huì)對(duì)您有所幫助。

雖然很多朋友都在用.NET作數(shù)據(jù)訪問(wèn),但使用DB2的應(yīng)該不多,偶爾使用也是用ODBC或OLE DB方式。
DB2 9.0+提供了支持.NET 2.0的ADO.NET Provider, 尤其對(duì)于使用PureXML開(kāi)發(fā)XQuery的朋友而言,這個(gè)功能上要比OLE DB,ODBC的方式豐富。
我安裝的是DB2 9.5 Express-C版本
開(kāi)發(fā)環(huán)境是VS 2008,不過(guò)其實(shí)用VS 2005的DB 9.5 Visual Studio 2005 Add-ins更方便
基于代碼的訪問(wèn)就不提了,這里介紹一個(gè)App.Config的方式 (google了一下,找不到合適的,經(jīng)過(guò)誤打誤撞碰出了providerName="IBM.Data.DB2")
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Diagnostics;
using System.Data.Common;
using System.Configuration;
namespace MarvellousXml.Library.Data
{
///
/// 完成數(shù)據(jù)操作的抽象基類
///
public class Database
{
protected string name;
ConnectionStringSettings setting;
public Database(string name)
{
this.name = name;
this.setting = ConfigurationManager.ConnectionStrings[name];#p#
}
///
/// 提供DbConnection實(shí)例
///
///
public DbConnection GetConnection()
{
return CreateConnection(this.name);
}
#region Helper Methods
///
/// 根據(jù)配置構(gòu)造DbConnection實(shí)例
///
///
///
private DbConnection CreateConnection(string name)
{
if (string.IsNullOrEmpty(name))
throw new ArgumentNullException("name");
DbProviderFactory factory = DbProviderFactories.GetFactory(setting.ProviderName);
DbConnection connection = factory.CreateConnection();
connection.ConnectionString = setting.ConnectionString;
return connection;
}
#endregion
}#p#
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Data;
using System.Data.Common;
using MarvellousXml.Library.Data;
namespace MarvellousXml.Library.Data.Test
{
[TestClass]
public class DatabaseFixture
{
[TestMethod]
public void CreateDb2Database()
{
string dbName = "DB2.Test";
Database database = DatabaseFactory.Create(dbName);
Assert.IsNotNull(database);
DbConnection connection = database.GetConnection();
connection.Open();
Assert.IsTrue(connection.State == ConnectionState.Open);
}
}
}#p#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
namespace MarvellousXml.Library.Data
{
///
/// 構(gòu)造Database的工廠類型 (還沒(méi)有完成的 毛坯)
///
public static class DatabaseFactory
{
///
/// 構(gòu)造
///
/// 邏輯連接名稱
///
public static Database Create(string name)
{
return new Database(name);
}
}
}
文章題目:DB29.0+提供支持.NET2.0的ADO.NETProvider
鏈接地址:http://www.fisionsoft.com.cn/article/dpjhggg.html


咨詢
建站咨詢
