首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

急Pro*C的有关问题,想了解怎么在Windows下搭建Pro*C的环境

2012-02-24 
急!Pro*C的问题,想了解如何在Windows下搭建Pro*C的环境我window2000装有oracle的server,在cmd中sqlplus能

急!Pro*C的问题,想了解如何在Windows下搭建Pro*C的环境
我window2000装有oracle的server,在cmd中sqlplus能正常访问我的数据库,装有gcc编译器和windows版的bash,我在window下写了一个最简单的pro*c程序就是连数据库,连成功了就输出“success”,程序名sample.pc
输入:proc   parse=none   sample.pc
编译没报错,生成sample.c
输入:g++   -o   sample   sample.c  
出错:undefine   reference   sqlcxt(...)
然后我查找系统生成sample.c中有一段这个语句,是proc编译时自动
加载的语句
/*   SQLLIB   Prototypes   */
extern   void   sqlcxt   (void   **,   unsigned   long   *,
                                      struct   sqlexd   *,   const   struct   sqlcxp   *);
extern   void   sqlcx2t(void   **,   unsigned   long   *,
                                      struct   sqlexd   *,   const   struct   sqlcxp   *);
extern   void   sqlbuft(void   **,   char   *);
extern   void   sqlgs2t(void   **,   char   *);
extern   void   sqlorat(void   **,   unsigned   long   *,   void   *);

我上网查了一下大概是缺一个文件,在unix下编译时加一个参数-lclntsh但是nt下
可能是要一个libsql8.lib的文件但我的oracle是9i的查过我的目录底下没有
找到该文件,老师能否给拷一个或者告我在哪里能找到该文件。
该怎么解决这个问题急需老师的帮助,谢谢!

以下是我的proc测试程序:
#include   <stdio.h>
#include   <stdlib.h>
#include   <string.h>

EXEC   SQL   INCLUDE   sqlca;;
EXEC   SQL   BEGIN   DECLARE   SECTION   ;
char   pwd[   30   ]   ;
char   f_name[   30   ]   ;
int   id   ;
EXEC   SQL   END   DECLARE   SECTION   ;

int   main(){
EXEC   SQL   WHENEVER   SQLERROR   STOP;
memset(   pwd   ,0x00   ,sizeof(   pwd   )   )   ;
memset(   f_name   ,0x00   ,sizeof(   f_name   )   )   ;
strcpy(   pwd   ,   "test/test "   )   ;
EXEC   SQL   CONNECT   :   pwd   ;
printf( "Connect   Success! ");  
EXEC   SQL   select   count(1)   into   :id
                from     user_table   ;
printf( "num   is   :   %d\n ",   id);
EXEC   SQL   COMMIT   WORK   RELEASE   ;
return   0   ;
}


[解决办法]

http://www.exam8.com/computer/Oracle/jishu/200505/12753.html

热点排行