软件开发

C程序连接db2数据库

新手问个问题,通过C程序代码连接已经创建的db2数据库(EXEC SQL connect to dbname user us using pwd),一定得要在之前通过命令(db2 connect to dbname)才可以吗? 谢谢。。。
参与5

4同行回答

zhang_wenyuzhang_wenyu软件开发工程师汇天科技
回复 4# ninth code:   1 #include   2 #include   3 #include   4 #include   5 #include   6 EXEC SQL BEGIN DECLARE SECTION;  7   char dbname[20];  8   ch...显示全部
回复 4# ninth
code:   1 #include
  2 #include
  3 #include
  4 #include
  5 #include
  6 EXEC SQL BEGIN DECLARE SECTION;
  7   char dbname[20];
  8   char user[20];
  9   char pwd[20];
10 EXEC SQL END DECLARE SECTION;
11 int main(){
12         strcpy( dbname,"finger" );
13         strcpy( user,"db2fenc1" );
14         strcpy( pwd,"123" );
15         EXEC SQL INCLUDE SQLCA;
16         EXEC SQL CONNECT TO  :dbname USER :user USING :pwd;
17         if( SQLCODE < 0 ){
18                 printf( "DB2Connect Error \n");
19         }
20         if(SQLCODE ==0 ){
21                 printf( "Connected to database \n ");
22         }
23         return 0;
24 }
~

然后进行预编译: db2 prep db2conn_test.sqc
接下来报错:

LINE    MESSAGES FOR db2conn_test.sqc
------  --------------------------------------------------------------------
        SQL0060W  The "C" precompiler is in progress.
        SQL1024N  A database connection does not exist.
                  SQLSTATE=08003
        SQL0095N  No bind file was created because of previous
                  errors.
        SQL0091W  Precompilation or binding was ended with "2"
                  errors and "0" warnings.


如果在预编译之前进行一下连接操作,预编译就可以通过:db2 connect to finger
难倒一定要这步操作吗?收起
软件开发 · 2013-07-31
浏览1074
ninthninth数据库管理员拓维信息系统股份有限公司
建议看看db2带的例子。显示全部
建议看看db2带的例子。收起
互联网服务 · 2013-07-31
浏览1131
zhang_wenyuzhang_wenyu软件开发工程师汇天科技
回复 2# lanxue 可以具体点? 我通过程序连接数据库,提示数据库不存在。显示全部
回复 2# lanxue

可以具体点? 我通过程序连接数据库,提示数据库不存在。收起
软件开发 · 2013-07-30
浏览1058
lanxuelanxue软件开发工程师无业
不需要。显示全部
不需要。收起
互联网服务 · 2013-07-30
浏览1076

提问者

zhang_wenyu
软件开发工程师汇天科技

问题状态

  • 发布时间:2013-07-30
  • 关注会员:1 人
  • 问题浏览:6038
  • 最近回答:2013-07-31
  • X社区推广