Pro*C的问题高手请进!

conqueror168 2001-07-19 10:43:55
1.
请问Pro*C中联接数据库的语句为什么没有实例名
如 EXEC SQL CONNECT scott/tiger;
我从好多书上看到的例程 都没写实例名, 是不是应可写成:
EXEC SQL CONNECT scott/tiger@oracle8;
2.
我的Pro*C一直不能用(我装在服务端, 用telnet连上去在服务器上编程). 编一个程序用ProC编译通过了,可是用cc编译时就出现
ld: 0711-317 ERROR: Undefined symbol: .sqlcxt
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
的错误,有没有大侠知道为什么?是什么错误?

我的原程序如下:

#include <stdlib.h>
#include <stdio.h>
#include <sqlca.h>
void main()
{
char username[]="test/test";
int Myold;
EXEC SQL CONNECT :username;
EXEC SQL SELECT old INTO :Myold from test001 where name='conqueror';
printf("%8d\n\n",Myold);
printf("hello!\n");
}


...全文
263 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
conqueror168 2001-07-26
  • 打赏
  • 举报
回复
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
conqueror168 2001-07-23
  • 打赏
  • 举报
回复
?
Benni 2001-07-23
  • 打赏
  • 举报
回复
EXEC SQL CONNECT :username IDENTIFIED BY :password USING :server;
敢问大虾:
如果ORACLE server在知道计算机名称或IP地址的远程计算机上,又该如何连接?
conqueror168 2001-07-21
  • 打赏
  • 举报
回复
jhc(老猫) :
不行, 出错信息如下, (我用 make –f demo_proc.mk sample1)后:

/bin/make -f /home/oracle/precomp/demo/proc/demo_proc.mk OBJS=sample1.o EXE=sample1 build
/home/oracle/bin/oraxlc -O -I. -I/home/oracle/precomp/public -I/home/oracle/rdbms/public -I/home/oracle/rdbms/demo -I/home/oracle/plsql/public -I/home/oracle/network/public -c sample1.c
/home/oracle/bin/oraxlc[159]: xlc_r: not found.
make: 1254-004 The error code from the last command is 127.


Stop.
make: 1254-004 The error code from the last command is 2.


Stop.
liujie72 2001-07-20
  • 打赏
  • 举报
回复
OTL比Pro*C好多了。
jhc 2001-07-20
  • 打赏
  • 举报
回复
在$ORACLE_HOME/procomp/ 下的子目录里有一些sample*.pc ,还有一个*.mk文件。
你用 make -f *.mk sample1
注意把*替换为你看到的实际文件名,看能否通过。如果可以,你把*.mk文件里的sample1改为你自己的文件名再用make -f *.mk yourfile 试试。
conqueror168 2001-07-20
  • 打赏
  • 举报
回复
我是说你的下面这句话!
老兄你要连接oracle的几个动态联接库编译呀。

真的,我编译Oracle自己的demo程序都不能通过!!!
所以我想问题可能就是出在什么东东没配好!
你说"老兄你要连接oracle的几个动态联接库编译呀。 "这句话我没理解!
是不是还要进行什么设置!

我的头都大了!
llzczf 2001-07-20
  • 打赏
  • 举报
回复
我给你这个DEMO行呀,你要告诉我你是什么具体错误呀
conqueror168 2001-07-20
  • 打赏
  • 举报
回复
llzczf(凌志) :
能说具体一些吗?
不胜感激!
xingxing3 2001-07-19
  • 打赏
  • 举报
回复
我也正学pro*c,请问有没有电子资料,mail我一份可以吗?
llzczf 2001-07-19
  • 打赏
  • 举报
回复
老兄你要连接oracle的几个动态联接库编译呀。
conqueror168 2001-07-19
  • 打赏
  • 举报
回复
什么libclntsh.so.1.0 ???
我编译demo程序时情况是这样的
proc iname=sample1.pc 结果是pass ,得到sample1.c
cc sample1.c 结果就出现了以上问题!
我很着急啊!
wester 2001-07-19
  • 打赏
  • 举报
回复
你肯定是没有连接库 libclntsh.so.1.0 在编译时加上选项-lclntsh,
不过我建议你编译的时候最好使用makefile.
conqueror168 2001-07-19
  • 打赏
  • 举报
回复
还是不行, 我运行pro*c的demo程序都不能通过,也是出现这以上提示, 我是不是没配好什么东西?

你有资料?发给我一份好吗? conqueror168@21cn.com
thanks a lot!
llzczf 2001-07-19
  • 打赏
  • 举报
回复
void connect()
{


EXEC SQL BEGIN DECLARE SECTION;
VARCHAR username[10],password[10],server[10];
EXEC SQL END DECLARE SECTION;



/*
* 输入用户名、口令以及服务名
*/
printf("\n输入用户名:");
gets(username.arr);
username.len = (unsigned short)strlen((char *) username.arr);

printf("\n输入口令:");
gets(password.arr);
password.len = (unsigned short)strlen((char *) password.arr);

printf("\n输入服务名:");
gets(server.arr);
server.len = (unsigned short)strlen((char *) server.arr);

/*
* 连接到Oracle服务器上
*/
EXEC SQL CONNECT :username IDENTIFIED BY :password
USING :server;

printf("\n以用户 %s成功地连接到了服务器%s上!\n",
username.arr,server.arr);

}
看看我这个DEMO或许有点有,已测试通过。另外子这里有些资料
bjwan 2001-07-19
  • 打赏
  • 举报
回复
没有写实例名,则连接缺省的service。
你也可以加@orcx连接你想连接的service。

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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