您的位置:首页 >> 数据库 >> DB2 >> 正文
DB2 RSS
 

用Cygwin模拟DB2的Unix/Linux开发环境(2)

http://www.rdxx.com 06年11月29日 00:00 未知 我要投稿

关键词: 模拟 , 开发环境 , UNIX , Linux , DB2 , Cygwin , 开发 , 环境
执行初始化了DB2环境的Cygwin  点击桌面上的cygwin图标,可以进入Cygwin模拟的Linux..   现在,该环境不能执行DB2命令,因为没有作db2cmd初始化环境。     为了能在该环境中使用DB2,必须先运行db2cmd然后在DB2的命令行环境下进入Cygwin测试,是否能在Cygwin环境下使用DB2命令。OK,到目前为止,我们已经拥有了一个和Unix一样的环境,并且能使用DB2下一步我们来写第一个SQC程序. 编写SQC程序   编写一个简单程序测试,该程序主要完成,读取系统时间,并打印。程序主要部分为:           if (ConnectDatabase(sDBName,sUserName,sPasswd)<0)   /*连接数据库*/      {             printf("连接数据库失败\n");             return -1;      }      printf("连接数据库成功!\n");                                                        EXEC SQL SELECT char(CURRENT TIMESTAMP)               into :sDateTime               FROM (VALUES 1) AS A;              if DataError       {              DisConnectDB();              return -1;       }       printf("当前时间%s\n",sDateTime);       DisConnectDB(); (完整程序建附件)该程序在Unix主机下能编译执行。前面说过,建立这个环境的主要意义在于方便代码移植。所以,代码本身不用作任何更改即可在Cygwin环境下编译。修改编译参数       安装过程中已经说明Cygwin环境下,支持大部分Unix/Linux命令并且安装了Gcc的编译器,Windows平台和Unix平台下的库略有不同,gcc和我们在Windows下常用的VC编译器参数也略有不同,下面简要说明。1、  在Unix环境中,分为静态库和动态库,它们的扩展名分别是 .a 和 .so .2、  在Windows中,静态库扩展名为 .lib 动态库扩展名为 .dll3、  Unix下,SQC程序编译时必须链接 libdb2.so库,也就是加上 -ldb2参数(忽略lib和扩展名,这是Unix下C编译器特点)4、  Windows下,SQC程序必须链接db2api.lib静态库。虽然有上述不同,但是我们的修改却非常少,本例中使用了以前我为编译SQC写的Makefile模板。在Makefile中真正需要修改的只有一行将LIBS= -L$(DB2PATH)/lib -l$(DB2PATH)/lib/db2修改为LIBS= -L $(DB2PATH)/lib $(DB2PATH)/lib/db2api.lib当然,你还需要更具环境的不同,修改Makefile的其他部分,比如DB2PATH的值啊,这些就是在不同的主机上也需要修改的,并不是Windows和Unix的区别,不在本文的讨论之列。 运行测试程序Cy

9 7 3 1 2 3 4 5 4 8 :


 
 
标签: 模拟 , 开发环境 , UNIX , Linux , DB2 , Cygwin , 开发 , 环境 打印本文
 
 
  相关资讯
RSS
 
 
 
  热点搜索
 
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站