LinuxÒÁµéÔ°ÂÛ̳'s Archiver

lin.xy ·¢±íÓÚ 2007-8-7 13:57

[ÇóÖú]red hat enterprise as 3+oracle 9.2.0.4.0 procÎÞ·¨Ô¤±àÒë

ÕâЩ´úÂëÔÚunix»·¾³Ï±àÒë·Ç³£Õý³££¬ÒÆÖ²µ½linux»·¾³ÏÂʼÖÕprocÔ¤±àÒë²»¹ý£¬
µ«ccÒ»°ãµÄ³ÌÐò¶¼ÄܱàÒëͨ¹ý£¬
ÔÚÍøÉϲéÁËËùÓеÄ×ÊÁϱ¨ÒÔÏ´íÎóÊÇÒòΪ$ORACLE_HOME/precomp/adminϵÄpcscfg.cfgµÄÅäÖÃÎÊÌ⣬
µ«ÊÔÁ˺ܶàÖÖÅäÖ÷½·¨¶¼Ã»ÓÐЧ¹û£¬¶øÇÒ$ORACLE_HOME/precompÓкܶàĿ¼¶¼¸úÍøÉÏÃèÊöµÄ²»Ò»Ñù£¬
±ÈÈ磺rdbms,plsql,oracore,networkµÈĿ¼ÔÚ$ORACLE_HOME/precompϸù±¾ÕÒ²»µ½£¬
ÊÇ·ñ»¹ÐèÒª°²×°Ê²Ã´oracle×é¼þ£¬»¹ÊÇÎÒµÄÅäÖÃÓÐʲôÎÊÌ⣿
ÏÖÔÚ°ÑÎҵijÌÐòËùÒÔÅäÖÃÌùÉÏ£º
Çë´ó¼Ò°ï°ïæ
#############################################################
$ORACLE_HOME/precomp/adminϵÄpcscfg.cfgÅäÖÃÈçÏ£º
sys_include=(/usr/include,/usr/include/linux)
include=/opt/ora9/product/9.2/rdbms/public
include=/opt/ora9/product/9.2/rdbms/demo
include=/opt/ora9/product/9.2/plsql/public
include=/opt/ora9/product/9.2/otrace/public
include=/opt/ora9/product/9.2/plsql/include
include=/opt/ora9/product/9.2/precomp/syshdr
ltype=short
#################################################################
makefileÅäÖÃÈçÏ£º
WORKDIR=$(HOME)
INCLPATH=-I. -I$(HOME)/include -I$(ORACLE_HOME)/precomp/public
LIBPATH=-L$(WORKDIR)/lib -L$(ORACLE_HOME)/lib
BIN=$(WORKDIR)/bin
ARFLAGS=ruv
AR=ar
PROC=proc parse=none include=$(WORKDIR)/include $(ORACLE_HOME)/precomp/public
CC=cc
HSLIB=$(WORKDIR)/lib/hslib.a
ORALIB=-lclntsh -lcore9 -lm `cat $(ORACLE_HOME)/lib/sysliblist` -lm
PCLIBFILE=aaa
$(PCLIBFILE):
  $(PROC) [email=iname=$@.pc]iname=$@.pc[/email]
  $(CC) -c [email=$@.c]$@.c[/email] $(INCLPATH)
  $(AR) $(ARFLAGS) $(HSLIB) [email=$@.o]$@.o[/email]
  -rm [email=$@.o]$@.o[/email] [email=$@.c]$@.c[/email] [email=$@.lis]$@.lis[/email]
  echo "$@ Is Updated.."
#################################################################
aaa.pc´úÂëÈçÏÂ:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "message.h"
EXEC SQL INCLUDE aaa.h;
EXEC SQL INCLUDE SQLCA;
int     aaa()
{
        EXEC SQL BEGIN DECLARE SECTION;
  HS_DEFINE_INFO define;
         char syscode[2+1];
        EXEC SQL END DECLARE SECTION;
        
        memset(syscode,0,sizeof(syscode));
memset(&define,0,sizeof(HS_DEFINE_INFO));
  
EXEC SQL select * INTO :define
  FROM hs_define_info
  WHERE c_sys_code='1';
        return(0);
}
#################################################################
aaa.h´úÂëÈçÏÂ:
#ifndef AAA_H
#define AAA_H
#define SQLCODE         (sqlca.sqlcode)
#define SQLNOTFOUND     (1403)
#define SQLNULL         (-1405)
typedef struct _hs_define_info{
int i_sys_serial;
char c_sys_code[2+1];
char c_sys_name[40+1];
char c_host_name[20+1];
char c_comm_para[40+1];
char c_mac_mode[1+1];
char c_sign_flag[1+1];
char c_sign_date[8+1];
char c_sign_time[6+1];
char c_main_key[16+1];
char c_work_key[16+1];
char c_comment[80+1];
}HS_DEFINE_INFO;
#################################################################
make aaa±¨´íÈçÏÂ:
proc parse=none include=/home/hmfms/include /opt/ora9/product/9.2/precomp/public iname=aaa.pc
Pro*C/C++: Release 9.2.0.4.0 - Production on Tue Aug 7 13:23:21 2007
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
System default option values taken from: /opt/ora9/product/9.2/precomp/admin/pcscfg.cfg
Syntax error at line 13, column 4, file aaa.pc:
Error at line 13, column 4 in file aaa.pc
                        HS_DEFINE_INFO define;
...1
PCC-S-02201, Encountered the symbol "HS_DEFINE_INFO" when expecting one of the f
ollowing:
   auto, char, const, double, enum, extern, float, int, long,
   ulong_varchar, OCIBFileLocator OCIBlobLocator,
   OCIClobLocator, OCIDateTime, OCIExtProcContext, OCIInterval,
   OCIRowid, OCIDate, OCINumber, OCIRaw, OCIString, register,
   short, signed, sql_context, sql_cursor, static, struct,
   typedef, union, unsigned, utext, uvarchar, varchar, void,
   volatile, a typedef name, a precompiled header, exec oracle,
   exec oracle begin, exec, exec sql, exec sql begin,
   exec sql end, exec sql type, exec sql var, exec sql include,
The symbol "exec," was substituted for "HS_DEFINE_INFO" to continue.
Error at line 0, column 0 in file aaa.pc
PCC-F-02102, Fatal error while doing C preprocessing
make: *** [aaa] Error 1
#################################################################

²»ÖªµÀÊÇÄÄÀï³ö´íÁË£¬Çë¸÷λ¸ßÊÖ´óÏÀ°ïÎÒÕï¶ÏÕï¶Ï£¬¶àлÁË£¡£¡£¡

Ò³: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.