关于PROC开发报错问题(俺是新手)
用PROC预编译通过后,执行可执行文件报错,请麻烦各位大侠指导一下!
[DMBI@DMBI-MID] $ cat pro_c.pc
#include <stdio.h>
EXEC SQL BEGIN DECLARE SECTION;
char username[20];
char password[20];
char last_name[64];
EXEC SQL END DECLARE SECTION;
EXEC SQL INCLUDE sqlca;
void sqlerror();
main()
{
EXEC SQL WHENEVER SQLERROR DO sqlerror();
strcpy(username,"dmbi");
strcpy(password, "dmbi123");
EXEC SQL CONNECT:username IDENTIFIED BY:password;
EXEC SQL select flag_class_name into :last_name from rpt_flag_class where flag_class_id=10072 ;
printf("\nID=2,last_name=%s\n" , last_name);
}
void sqlerror()
{
EXEC SQL WHENEVER SQLERROR CONTINUE;
printf("\n---- oracle error detected:\n");
printf("%.70s\n", sqlca.sqlerrm.sqlerrmc);
EXEC SQL ROLLBACK WORK RELEASE;
exit(1);
}
[DMBI@DMBI-MID] $
[DMBI@DMBI-MID] $ proc pro_c.pc
Pro*C/C++: Release 10.2.0.4.0 - Production on Sun Sep 16 22:10:40 2012
Copyright (c) 1982, 2007, Oracle. All rights reserved.
System default option values taken from: /export/home/oracle/app/oracle/product/10.2.0/precomp/admin/pcscfg.cfg
[DMBI@DMBI-MID] $
[DMBI@DMBI-MID] $
[DMBI@DMBI-MID] $ ls
pro_c pro_c.c pro_c.lis pro_c.o pro_c.pc
[DMBI@DMBI-MID] $
[DMBI@DMBI-MID] $
[DMBI@DMBI-MID] $ gcc pro_c.c -o pro_c -I $ORACLE_HOME/precomp/public/ -L $ORACLE_HOME/lib/ $ORACLE_HOME/lib32/libclntsh.so
[DMBI@DMBI-MID] $
[DMBI@DMBI-MID] $ ls
pro_c pro_c.c pro_c.lis pro_c.o pro_c.pc
[DMBI@DMBI-MID] $ ls -lrt
total 50
-rw-r--r-- 1 DMBI DMBI 702 Sep 12 18:35 pro_c.pc
-rwxrwxr-x 1 DMBI DMBI 4584 Sep 12 21:55 pro_c.o
-rw-r--r-- 1 DMBI DMBI 10495 Sep 16 22:10 pro_c.c
-rw-r--r-- 1 DMBI DMBI 0 Sep 16 22:10 pro_c.lis
-rwxr-xr-x 1 DMBI DMBI 8000 Sep 16 22:11 pro_c
[DMBI@DMBI-MID] $ pro_c
ld.so.1: pro_c: fatal: /export/home/oracle/app/oracle/product/10.2.0/lib/libclntsh.so.10.1: wrong ELF class: ELFCLASS64
Killed
[DMBI@DMBI-MID] $
[DMBI@DMBI-MID] $
[DMBI@DMBI-MID] $
[DMBI@DMBI-MID] $ cat pro_c.pc
#include <stdio.h>
EXEC SQL BEGIN DECLARE SECTION;
char username[20];
char password[20];
char last_name[64];
EXEC SQL END DECLARE SECTION;
EXEC SQL INCLUDE sqlca;
void sqlerror();
main()
{
EXEC SQL WHENEVER SQLERROR DO sqlerror();
strcpy(username,"dmbi");
strcpy(password, "dmbi123");
EXEC SQL CONNECT:username IDENTIFIED BY:password;
EXEC SQL select flag_class_name into :last_name from rpt_flag_class where flag_class_id=10072 ;
printf("\nID=2,last_name=%s\n" , last_name);
}
void sqlerror()
{
EXEC SQL WHENEVER SQLERROR CONTINUE;
printf("\n---- oracle error detected:\n");
printf("%.70s\n", sqlca.sqlerrm.sqlerrmc);
EXEC SQL ROLLBACK WORK RELEASE;
exit(1);
}
[DMBI@DMBI-MID] $
[DMBI@DMBI-MID] $ proc pro_c.pc
Pro*C/C++: Release 10.2.0.4.0 - Production on Sun Sep 16 22:10:40 2012
Copyright (c) 1982, 2007, Oracle. All rights reserved.
System default option values taken from: /export/home/oracle/app/oracle/product/10.2.0/precomp/admin/pcscfg.cfg
[DMBI@DMBI-MID] $
[DMBI@DMBI-MID] $
[DMBI@DMBI-MID] $ ls
pro_c pro_c.c pro_c.lis pro_c.o pro_c.pc
[DMBI@DMBI-MID] $
[DMBI@DMBI-MID] $
[DMBI@DMBI-MID] $ gcc pro_c.c -o pro_c -I $ORACLE_HOME/precomp/public/ -L $ORACLE_HOME/lib/ $ORACLE_HOME/lib32/libclntsh.so
[DMBI@DMBI-MID] $
[DMBI@DMBI-MID] $ ls
pro_c pro_c.c pro_c.lis pro_c.o pro_c.pc
[DMBI@DMBI-MID] $ ls -lrt
total 50
-rw-r--r-- 1 DMBI DMBI 702 Sep 12 18:35 pro_c.pc
-rwxrwxr-x 1 DMBI DMBI 4584 Sep 12 21:55 pro_c.o
-rw-r--r-- 1 DMBI DMBI 10495 Sep 16 22:10 pro_c.c
-rw-r--r-- 1 DMBI DMBI 0 Sep 16 22:10 pro_c.lis
-rwxr-xr-x 1 DMBI DMBI 8000 Sep 16 22:11 pro_c
[DMBI@DMBI-MID] $ pro_c
ld.so.1: pro_c: fatal: /export/home/oracle/app/oracle/product/10.2.0/lib/libclntsh.so.10.1: wrong ELF class: ELFCLASS64
Killed
[DMBI@DMBI-MID] $
[DMBI@DMBI-MID] $
[DMBI@DMBI-MID] $
...全文
相关推荐
ping_cap_set_proc报错分析.docx
在Linux某种特殊情况下 ping命令报错cat_set_proc 该文档源码层级分析核心原因 帮忙学习Linux权限、用户等
ping命令cap-set-proc报错.不允许的操作
ping命令cap-set-proc报错.不允许的操作
proc 连接数据库问题及解决方案
prco 连接oracle数据库出现问题及解决方案
proc oracle 示例
proc oracle 示例
blocked:proc-macro,用于检查是否已解决阻止程序(问题)
受阻 # Cargo.toml blocked = " ^0.1.1 " 被阻止者提供被blocked! 宏。 编译后,它将检查引用的问题是否已关闭,如果已关闭,则发出编译警告。 该宏采用问题模式和可选的“原因”。 找到BLOCKED_GITHUB_API_KEY环境变量或检测到CI环境时,此宏将尝试查找所引用问题的状态。 如果问题已解决,则阻止将发出包含可选“原因”的警告。 由于这需要网络访问,因此建议仅在CI构建中运行此命令,以免减慢edit-run-debug周期。 // An attribute-like procedural macro is on the todo-list #![feature(proc_macro_hygiene)] use blocked :: blocked; fn hacky_workaround () {} fn main () {


新手乐园
