Re: Pro*C + RedHat 9 + oracle 9.2
- From
- Grigoriy Shpakov (2:5020/400)
- To
- "Mark A Bernadiner" (2:5054/37.63)
- Date
- 2005-03-21T18:51:30Z
- Area
- RU.RDBMS.ORACLE
From: Grigoriy Shpakov <grigory@sirena2000.ru>
Как-то раз Mark A Bernadiner(mark@zlatoust.ru) написал:
MAB> Pro*C под RedHat 9.0 в орасле 9.2 работает ?
А чего бы ему не работать? Оракл под линух портирован. И Pro*C под него
тоже портирован.
MAB> $ make -f demo_proc.mk ggg
.......
MAB> /tmp/cco4n6IP.o(.text+0x76): In function `main':
MAB> : undefined reference to `sqlca'
MAB> /tmp/cco4n6IP.o(.text+0x163): In function `main':
MAB> : undefined reference to `sqlcxt'
MAB> collect2: ld returned 1 exit status
MAB> make: *** [ggg] Ошибка 1
MAB> $ cat ggg.pc
MAB> EXEC SQL BEGIN DECLARE SECTION;
MAB> char username[20];
MAB> EXEC SQL END DECLARE SECTION;
1) Насколько я знаю, Pro*C не позволяет иметь глобальные переменные,
используемые для доступа к базе. Перенеси это объявление внутрь функции
(вместе с обрамлением).
2) Я предпочитаю пользоваться типом VARCHAR. Проверено, работает.
MAB> EXEC SQL INCLUDE sqlca.h;
MAB> main()
MAB> {
MAB> strcpy(username, "/");
MAB> EXEC SQL CONNECT :username;
MAB> printf("\nConnected to ORACLE as user: %s\n\n", username);
MAB> }
MAB> $
MAB> В чем тут может быть проблема?
А еще, помнится, у меня были проблемы на линковке, когда я в процессе
разработки писал "EXEC SQL INCLUDE sqlca.h;", но не писал ни одного "EXEC
SQL...". Почему-то Pro*C такого не любит. Как только появлялись строки "EXEC
SQL SELECT ..." - так проблемы с линковкой тут же исчезали.
--
Григорий Шпаков
Бывший 2:5020/198.39 AKA /213.25 AKA /54.35 AKA grigory@sirena.rinet.ru
Ныне grigory@sirena2000.ru
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5.3
* Origin: Talk.Mail.Ru (2:5020/400)
SEEN-BY: 50/203 520 450/159 186 451/30 452/25 454/9 461/33 43 74 106 640
SEEN-BY: 464/34 465/204 469/125 999 550/5068 4623/56 4625/8 9 4626/100 4627/10
SEEN-BY: 4641/444 4646/1 4653/10 4657/50 5000/76 5001/5001 5002/76 5002
SEEN-BY: 5003/34 57 5004/58 5006/1 5007/1 5010/53 70 5011/13 5015/4 28 5020/20
SEEN-BY: 5020/52 104 115 118 128 150 175 194 400 401 545 600 639 642 715 758
SEEN-BY: 5020/794 894 921 968 982 1057 1100 1169 1212 1234 1356 1604 1626 1642
SEEN-BY: 5020/1835 1873 1909 1930 2013 2020 2200 2238 4400 4441 12000 5021/3
SEEN-BY: 5021/44 5022/128 5023/11 5025/19 151 750 5026/14 45 78 5030/69 195
SEEN-BY: 5030/382 920 966 1016 1063 1339 1900 5032/11 16 5033/21 35 5034/8
SEEN-BY: 5035/10 5036/1 13 5037/21 5040/33 47 5041/4 10 5042/13 5045/7 42
SEEN-BY: 5049/157 5050/9 41 5051/15 35 5053/16 5054/1 8 9 28 35 37 45 50
SEEN-BY: 5056/16 5057/1 5058/77 5059/20 5060/88 90 5061/15 5062/1 5063/5 41 51
SEEN-BY: 5064/7 35 36 5066/18 5070/26 66 1222 5071/22 5079/23 49 5080/80 1003
SEEN-BY: 5081/2 5082/6 5083/13 21 5090/23 5093/27 57 5100/113 6000/12 6001/3
PATH: 5020/400 4441 52 5054/1 37