首先,是添加数据库实例:
DB2的实例之间是相互独立的,实例可以被看作是数据库的容器。而默认DB2装好后会自己建一个名为DB2的实例。我们这里需要新建一个,命令这样敲:
在db2的命令行工具里面打开命令行,然后输入:
它这个实例名还挺恶心的,必须是小于8个字符的名字。
再用命令行创建好以后才能用那个控制中心的添加实例的功能来添加刚才创建的实例。其实这个添加只是把已有的实例添加到GUI的控制中心里,而不是创建实例。。。。所以,必须注意的是,在这个控制中心里,只要是添加的命令,似乎都得小心点它实际上并没有创建东西,只是把已有的东西拿进来管理。
另外,再添加的时候,那个所谓的实例节点名也就仅仅是用于表示这个实例的一个节点的名字而已,似乎对于单台服务器来说意义不大。貌似是一个实例对应的每个实例节点组成一个分区实例的时候才有意义。
然后开始建立数据库:
好的,建立好实例之后我们要在实例上建立数据库。由于是Windows的环境下,你第一次建一定会遇到类似这样的错误
说明:
该命令的 "<path>" 参数中指定的路径无效。不存在该名称的路径,或者在
DB2_CREATE_DB_ON_PATHS 注册表变量被禁用时,指定了路径(仅限于 Windows)
。
</div>
按照这个说法很简单只需要执行一下这个命令即可:
不过很遗憾,我还是得到了个报错,为什么呢?其实你使用这个命令来查看就知道了:
C:/Program Files/IBM/SQLLIB/BIN>db2set -?
-all 显示出现的所有本地环境变量,如以下各项中所定义:
* 环境,用 [e] 表示
* 用户级注册表,用 [u] 表示
* 节点级注册表,用 [n] 表示
* 实例级注册表,用 [i] 表示,和
* 全局级注册表,用 [g] 表示
</div>
看到了吧,那个所谓的DB2_CREATE_DB_ON_PATH变量知识个实例级注册表,所以你直接执行上面那个命令改的是db2这个默认实例的东西。为了对我们新建的实例INSTNAME起作用,我们必须用这个命令:
注:此外,你可以通过DB2自带的那个配置助手来进行这些配置,GUI下的操作简单,就不写了。
好的,到此为止,数据库也已经成功的建立了,接下来就是日常事务了。
现在我们来看看DB2的客户端
IBM喜欢把它译作客户机。用习惯了MySQL的同学肯定会觉得有些突兀吧。DB2的客户端也有很多个不同的版本,此外,除了IBM自己的客户端之外,也有第三方开发商弄的客户端,这篇入门文章,我们还是只探讨IBM自己的东西。
下面是IBM自己的说法:
IBM Data Server Client
IBM Data Server Client 是可用于 IBM 数据服务器的完整安装的客户机。在 DB2 9.5 中,它充分支持所有受支持的 API。例如,它为 Ruby 提供了驱动程序。在 DB2 9 中,需要通过后安装(post-installation)下载和配置步骤来添加 Ruby 支持。这个客户机还提供了完整的图形化工具。例如,如果安装一个 IBM Data Server Client,您可以获得 Configuration Assistant、IBM Add-ins for Visual Studio、语言支持,等等。
如果您计划使用这个客户机在一个后端 IDS 数据服务器中支持 OLE DB 应用程序,则需注意这个接口不支持这种使用。但是可以使用这个客户机提供的 ODBC 支持弥补这类场景中的缺陷。
简单来讲,如果某个选项可以用于一个 DB2 客户机,那么它就是可用的。DB2 Client 是与 DB2 连通性有关的所有内容的超集。如上图所示,如果需要任何工具支持,则必须安装这种客户机。
IBM Data Server Client 约为 330 MB。您可以使用前面提到的 db2iprune 实用程序自定义这个客户机把它缩减到大约 200 MB。
IBM Data Server Runtime Client
IBM Data Server Runtime Client 是轻量级客户机部署的最佳选择。它要比它的 DB2 9 伙伴小一些,并且现在和 IBM Data Server Client 一样提供了 IDS 支持。这个客户机没带有任何工具 — 如前所述,它是由 DB2 8 里前身改变而来(从 DB2 8.2 Run-Time 客户机中删除了 CCA。它不再是 DB2 9 Runtime Client 的一部分)。如果您希望使用 Configuration Assistant 来图形化配置 DB2 9.5 中的连接,则无法在此找到这个工具。然而,这个客户机却包含了 DB2 CLP。这个客户机包含了所有 DB2 接口,例如,Ruby 驱动程序、.NET 驱动程序等等。和 IBM Data Server Client 一样,这个客户机并不支持与IDS数据服务器建立OLE DB连接。IBM Data Server Runtime 客户机在安装后大约占 60-70 MB 的磁盘空间。
如果您的内存需求非常紧迫,则不适合使用这种占用空间较大的客户机,但是它提供了针对任何应用程序连通性场景的充分支持。如果您支持使用各种编程语言构建的应用程序,并且不需要任何工具,那么这种客户机是最佳选择。如果支持像 Ruby on Rails 这样的开源应用程序并且不需要工具,该客户机则是惟一的选择,因为驱动程序不会为 Ruby、PHP 这样的开源 API 包含预编译的二进制文件。
IBM Data Server Driver for JDBC and SQLJ
这个驱动程序与 DB2 9 中的驱动程序非常相似,但是进行了一些技术增强和修复(在 pureQuery 环境中也会用到这个驱动程序)。和所有 IBM 数据服务器连通性选项一样,这个驱动程序也支持 IDS 数据服务器。它通过 db2jcc.jar 的单一包的方式交付(如果需要将它连接到 DB2 for i5/OS 或 DB2 for z/OS 数据服务器,则需要一个有效的 DB2 Connect 许可),并且按照 JDBC 3.0 规范进行交付。DB2 9.5 还通过一个称为 db2jcc4.jar 的包支持 JDBC 4.0 规范。
如果您需要对基于 Java 的应用程序使用一个轻量级的、免版权费的可重新发布的驱动程序,并且不需要任何工具,那么这是最佳选择,因为它支持诸如连接集中(connection concentration)、客户机自动重路由等高级特性。由于只占用大约 2MB 的空间,我将驱动程序使用的空间称为一个指纹(fingerprint)。这个驱动程序的使用有多么普遍呢?每分钟有数十亿美元的资金依靠它运作(或者其早先的版本)。
IBM Data Server Driver for ODBC, CLI, and .NET(只针对 Windows)
这个驱动程序按照 DB2 9 的方式交付,除了新添加的 .NET 支持外,还包括针对 ODBC 和 CLI 接口的支持。这是一个非常适合 .NET 应用程序的部署选项,因为您不再需要仅仅为了向 .NET 应用程序提供连通性而使用大量的内存。此外,添加了针对 Ruby、Perl 和 PHP 这类接口的二进制版本,因此无需亲自编译(尽管驱动程序的名称中没有提到),这大大降低了这些应用程序的部署时间(以及部署工作)。
IBM Data Server Driver for ODBC, CLI, and .NET 还提供了一些非常不错的 Windows 增强。例如,附带了一个安装包装器,可以显著增强在 Windows 上的部署特性。
这个驱动程序还提供了一组合并模块,比如 DB2 Runtime Client。我推荐使用这些合并模块进行安装,因为不论是谁开发您的应用程序的安装范例,它都非常适合。如果您不需要 CLP 或其他任何工具,我推荐使用这个驱动程序,因为它不会产生任何实例管理负担。
现在,您应该非常清楚何时