初学pro*c,遇到i386ld fatal: Symbol referencing errors. No output written to a.out问题

vc8 2004-12-28 03:07:27
#include <stdio.h>

EXEC SQL BEGIN DECLARE SECTION;
VARCHAR username[20];
VARCHAR password[20];
int emp_number;
float ixyd_s;
float ixyd_e;
float itze;
EXEC SQL END DECLARE SECTION;

EXEC SQL INCLUDE sqlca;

void sqlerror( );
void main( ){
strcpy( username.arr, "dbmanager" );
username.len = strlen( username.arr );
strcpy( password.arr, "fhic" );
password.len = strlen( password.arr );

EXEC SQL WHENEVER SQLERROR DO sqlerror( );
EXEC SQL connect: username IDENTIFIED BY:password;
printf( "/nConnect to ORACLE as user %s/n", username.arr );
while( 1 ){
printf( "/nEnter Xyd_s number(0 to quit ):");
scanf( "%d", &ixyd_s );
if( 0 ==ixyd_s ) break;
EXEC SQL WHENEVER NOT FOUND GOTO notfound;
EXEC SQL SELECT xyd_s, xyd_e,tze INTO: ixyd_s, :ixyd_e,:itze FROM xydsz WHERE xyd_s =:ixyd_s;
printf( " /n/n Xyd_s/tXyd_e/ttze/n" );
pirntf( "-----/t----/t-----/n" );
printf( "%.0f/t%.0f/t%.0f\n");
continue;
notfound:
printf( "/nNot a valid xyd_s./n" );
}
printf( "/n Have a good Day." );
EXEC SQL COMMIT WORK RELEASE;
exit( 0 );
}
void sqlerror( )
{
EXEC SQL WHENEVER SQLERROR CONTINUE;
printf( "/n Oracle error detected./n" );
printf( "/n%.70s/n",sqlca.sqlerrm.sqlerrmc );
EXEC SQL ROLLBACK RELEASE;
exit( 1 );
}
首先编译成.c文件
$proc PARSE=NONE myproc1.pc
然后编译.c文件
$cc -o myproc1 myproc1.c $ORACLE_HOME/lib/libclntsh.so
报入标题的错误,请问高手如何解决?多谢
...全文
341 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
vc8 2004-12-28
  • 打赏
  • 举报
回复
呵呵,多谢
ORARichard 2004-12-28
  • 打赏
  • 举报
回复
那只有帮你顶了
vc8 2004-12-28
  • 打赏
  • 举报
回复
好像不是
ORARichard 2004-12-28
  • 打赏
  • 举报
回复
不懂pro*c,
是不是下面这句有问题
EXEC SQL SELECT xyd_s, xyd_e,tze INTO: ixyd_s, :ixyd_e,:itze FROM xydsz WHERE xyd_s =:ixyd_s;

INTO:是不是该和冒号空一格呢
vc8 2004-12-28
  • 打赏
  • 举报
回复
我用的系统是openserver 5.05 oracle7.3.4
vc8 2004-12-28
  • 打赏
  • 举报
回复
没有人遇到吗

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧