SQL Server、Oracle、db2所提供的简装版(Express)比较 (二)

2014-11-24 03:05:08 · 作者: · 浏览: 13
password"); var cmd = conn.CreateCommand(); cmd.CommandText = "SELECT * FROM SYS.Employees"; conn.Open(); var reader = cmd.ExecuteReader(); while (reader.Read()) { Console.WriteLine(reader[0].ToString()); } } } }

IBM db2 Express-C

IBM目前所提供的db2 Express 的名称叫Express-C, 版本号为9.7.4,可以通过下面的地址下载到

http://www.ibm.com/developerworks/cn/downloads/im/udbexp/

我下载了几个组件,如下图所示

image

db2exec_975_win_x86.exe是db2 express-C的安装程序

db2exec_vsai_975_win_x86.exe是给visual studio的一个插件

ibm_data_studio_standalone_win_v31.zip是db2 express的一个管理工具

安装完之后,我大致看了一下有关的服务,有如下几个

image

在Visual Studio中,同样也可以方便地进行连接,和管理。这得益于Visual Studio所提供的良好的扩展机制

image

如果安装了那个管理工具,则有如下的画面

image

如果需要编程访问DB2 Express-C,则可以添加如下的引用

image

并且使用诸如下面这样的代码访问即可

	using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using IBM.Data.DB2;

namespace Sample
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建数据库连接
            var conn = new DB2Connection("Database=SAMPLE;User ID=administrator;Server=localhost;password=password01!");
            //创建命令
            var cmd = conn.CreateCommand();
            cmd.CommandText = "SELECT * FROM Employee";
            //打开连接
            conn.Open();
            //读取数据
            var reader = cmd.ExecuteReader();
            while (reader.Read())
            {
                Console.WriteLine(reader[0].ToString());
            }
            //关闭连接
            conn.Close();

        }
    }
}
我们会发现,这与之前的SQL Server Express和Oracle中访问数据库的方式,何其相似。

总结

从上面的例子和截图可以看出来,这三个产品,在我们作为开发人员具体来使用的时候,其实差别很小的。这也是一个好的框架所带来的优势。.NET支持灵活的数据访问框架,由此,我们可以专注于业务本身,而不需要为不同的数据源编写不同的代码。事实上,完全可以做到,一份代码复用于不同的数据源。而作为一个Express的产品,他们从能力上,没有本质上的差别。

针对他们的一些小的区别,我整理一个表格如下

image

摘自 陈希章