Administrace Oracle

Každý neuvedený předmět
Uživatelský avatar
Eubie
Matfyz(ák|ačka) level III
Příspěvky: 295
Registrován: 8. 10. 2005 15:35
Typ studia: Informatika Bc.
Kontaktovat uživatele:

Administrace Oracle

Příspěvek od Eubie »

Ahoj ahoj,

rád bych se zeptal, jestli už někdo z přítomných zkoušel integrovat Pro*C do Visual Studia. Jedná se mi hlavně to o, jestli jste byli schopni sosnout nějak knihovny obsahující sqlca.h od oraclu. Mám totiž dojem, že podpora Pro*C končí u ORacle 9.2.0 a dál se na to vykašlali s tím, že dneska každej jede na .NETu, leda tak Unixová verze možná tyto knihovny bude obsahovat ( ty jsou ale na win k ničemu, neboť prekompilátor bude unixovská binárka .. ). Takže neví někdo, jak sehnat win verzi knihoven a prekompilátorů, které se vztahují k Oracle 10g a jdou použít ve VS?

Díky!
Uživatelský avatar
rastik
Supermatfyz(ák|ačka)
Příspěvky: 661
Registrován: 19. 10. 2005 21:45
Typ studia: Informatika Mgr.
Bydliště: Praha
Kontaktovat uživatele:

Příspěvek od rastik »

Skusal si http://download-uk.oracle.com/docs/cd/B ... 21/toc.htm? Je to tam popisane. Ja som to kompiloval s mingw32 a bolo to Pro*C 10g. Pokial to nenajdes na stiahnutie, tak skusim zistit z coho som to nainstaloval.
Uživatelský avatar
Eubie
Matfyz(ák|ačka) level III
Příspěvky: 295
Registrován: 8. 10. 2005 15:35
Typ studia: Informatika Bc.
Kontaktovat uživatele:

Příspěvek od Eubie »

Díky za odkaz, ale právě jimi popisovaná informace

Kód: Vybrat vše

Header Files

The ORACLE_BASE\ORACLE_HOME\precomp\public directory contains the Pro*C/C++ header files. Table 2-1 lists and describes the header files.
je ve verzi 10g Express Edition ( možná to XE je ten zádrhel... ) nepravdivá, já mám v tomhle adresáři jen dva podadresáře, v jednom jakýsi archiv obsahující samply pro VisualBasic a C#, druhej obsahující jakýsi soubor neznámé přípony, o *.h nikde ani ťuk. Zítra máme ( možná ) dostaveníčko s Kopeckým, tak to možná ozřejmí.
Uživatelský avatar
rastik
Supermatfyz(ák|ačka)
Příspěvky: 661
Registrován: 19. 10. 2005 21:45
Typ studia: Informatika Mgr.
Bydliště: Praha
Kontaktovat uživatele:

Příspěvek od rastik »

Eubie píše:...je ve verzi 10g Express Edition ( možná to XE je ten zádrhel... )...
To si mal povedat hned, 10g XE nie je normalny (bezny?) Oracle 10g, z mnohych pohladov je to takove divne cudo :?
Stiahni si EE.
Uživatelský avatar
Eubie
Matfyz(ák|ačka) level III
Příspěvky: 295
Registrován: 8. 10. 2005 15:35
Typ studia: Informatika Bc.
Kontaktovat uživatele:

Příspěvek od Eubie »

Ahoj, díky za odpověď.
Včera jsme byli u kopeckého a na notebooku sme nainstalovali 10g client EnterE. Vše v phoodě. Přijdu domu, nainstaluju 10g server enter.E a následně client Enter.E. Proc.exe funguje, ALE například na
EXEC SQL CONNECT :login zařve "byl nalezen neindentifikovaný identifikátor" ( tím myslí login ) i když jsem ho deklaroval ( je to příklad kterej mi mates v pohodě přeloží ). Takže moje proc nevidí Cčkovský proměnný. Má někdo podobný/stejný problém a nebo řešení?
Díky
Uživatelský avatar
rastik
Supermatfyz(ák|ačka)
Příspěvky: 661
Registrován: 19. 10. 2005 21:45
Typ studia: Informatika Mgr.
Bydliště: Praha
Kontaktovat uživatele:

Příspěvek od rastik »

Skus sem hodit ten zdrojak.
Uživatelský avatar
Eubie
Matfyz(ák|ačka) level III
Příspěvky: 295
Registrován: 8. 10. 2005 15:35
Typ studia: Informatika Bc.
Kontaktovat uživatele:

Příspěvek od Eubie »

Je to zde. Pro úplnost přidávám, že mám Ora10g Release 2. ( soubor je nutno přejmenovat na pc, forum nedovoluje *.pc )
Přílohy
test_skola.txt
(2.99 KiB) Staženo 304 x
Uživatelský avatar
rastik
Supermatfyz(ák|ačka)
Příspěvky: 661
Registrován: 19. 10. 2005 21:45
Typ studia: Informatika Mgr.
Bydliště: Praha
Kontaktovat uživatele:

Příspěvek od rastik »

Eubie píše:Je to zde. Pro úplnost přidávám, že mám Ora10g Release 2. ( soubor je nutno přejmenovat na pc, forum nedovoluje *.pc )
No, ono ten login naozaj nemas v DECLARE SECTION. Presun riadok 32 niekam medzi 17 a 21, potom ProC prejde bez chyby.
Uživatelský avatar
Eubie
Matfyz(ák|ačka) level III
Příspěvky: 295
Registrován: 8. 10. 2005 15:35
Typ studia: Informatika Bc.
Kontaktovat uživatele:

Příspěvek od Eubie »

Aha! Mě nebylo jasný, k čemu ta DECLARE SECTION je, když na matesovi projde v pohodě i proměnna která v ní není:) Děkuji nastokráte.
Uživatelský avatar
Eubie
Matfyz(ák|ačka) level III
Příspěvky: 295
Registrován: 8. 10. 2005 15:35
Typ studia: Informatika Bc.
Kontaktovat uživatele:

Příspěvek od Eubie »

Ahoj,

mám další problém: mám soubory A.h, B.h a C.pc . Soubory A.h i B.h inkludují nějaký soubor konstanty.h obsahující definy. Soubor C.pc potřebuje inkludovat jak A.h, tak B.h. Pokud konstanty.h obalím ifndef __KONSTANTY define ... výčet konstant ... tak mi ProC zařve ( on dle mě ještě neví, co má s ifndef dělat ). Tak jsem ifndefy odstranil, nicméně takhle se mi zase do C.pc nadefinují všechny konstanty 2x a kompilátor mě seřve. Pak sem si zkoušel hrát s oraclím EXEC ORACLE IFNDEF; ... ale to se chová divně, například si do souboru Konstanty.h po nainkludování do C.cpp na nějaké místo vloží komentář a neukončí ho ( takže spadne kompilátor ), například ( vybráno z C.cpp )

Kód: Vybrat vše

/* vsechny hodnoty ozavorkujeme, abychom zajistili spravnou aritmetiku pro pripad, ze bychom temito konstantami nasobili	 */
#define BLOCKING_OTHERS_LEN	(40+1)
#define KILL_COMMAND_LEN	(50+1)
#define MACHINE_LEN			(64+1)
#define	MODE_HELD_LEN		(13+1)
#define MODE_REQUESTED_LEN	(13+1)
#define NAME_LEN			(30+1)
#define NUMBER_LEN			(12+1)
#define OBJECT_TYPE_LEN		(19+1)
#define OBJECT_NAME_LEN		(30+1)
#/* define OBJECT_OWNE */ 
R_LEN	(30+1)
#define OWNER_LEN			(30+1)
#define OSUSER_LEN			(30+1)
#define PROCESS_LEN			(9+1)
#define TERMINAL_LEN		(10+1)
#define USER_NAME_LEN		(30+1)

Řešil někdo něco podobného?
Uživatelský avatar
rastik
Supermatfyz(ák|ačka)
Příspěvky: 661
Registrován: 19. 10. 2005 21:45
Typ studia: Informatika Mgr.
Bydliště: Praha
Kontaktovat uživatele:

Příspěvek od rastik »

Podla http://download-uk.oracle.com/docs/cd/B ... tm#i431189 by mali obe varianty fungovat.
Uživatelský avatar
Eubie
Matfyz(ák|ačka) level III
Příspěvky: 295
Registrován: 8. 10. 2005 15:35
Typ studia: Informatika Bc.
Kontaktovat uživatele:

Příspěvek od Eubie »

Díky za odkaz, nicméně asi stále někde dělám chybu. Udělal sem krátkej příkládek, n akterým to nefunguje:

Kód: Vybrat vše

KONSTANTY.h
#ifndef __CONSTS__
#define __CONSTS__
#define VELIKOST_POLI 50
#endif

MAIN.PC
#include <stdio.h>
#include <sqlca.h>
#include "konstanty.h"

EXEC SQL BEGIN DECLARE SECTION;
	char szTest_Array[ VELIKOST_POLI ];
EXEC SQL END DECLARE SECTION;

int main(void){
	EXEC SQL CONNECT :szTest_Array;
	return 0;
	};
Tak jsem z toho jelen. Hláška ProCu je

Kód: Vybrat vše

SÚmantickß chyba na °ßdku 6, sloupec 21, soubor main.pc:
        char szTest_Array[ VELIKOST_POLI ];
....................1
PCC-S-02322, byl nalezen nedefinovanř identifikßtor
( cili nezna VELIKOST_POLI )
Uživatelský avatar
rastik
Supermatfyz(ák|ačka)
Příspěvky: 661
Registrován: 19. 10. 2005 21:45
Typ studia: Informatika Mgr.
Bydliště: Praha
Kontaktovat uživatele:

Příspěvek od rastik »

Pokial ma Pro*C spracovavat include, musi to byt: EXEC SQL INCLUDE. Dalej, pokial chces hodnotu z #define pouzit v DECLARE SECTION, musi v nej byt tiez.

Kód: Vybrat vše

konstanty.h:
#ifndef __CONSTS__ 
#define __CONSTS__ 
EXEC SQL BEGIN DECLARE SECTION; 
#define VELIKOST_POLI 50
EXEC SQL END DECLARE SECTION; 
#endif

main.pc:
#include <stdio.h> 
#include <sqlca.h> 
EXEC SQL INCLUDE konstanty.h;

EXEC SQL BEGIN DECLARE SECTION; 
   char szTest_Array[ VELIKOST_POLI ]; 
EXEC SQL END DECLARE SECTION; 

int main(void){ 
   EXEC SQL CONNECT :szTest_Array; 
   return 0; 
};
Uživatelský avatar
Eubie
Matfyz(ák|ačka) level III
Příspěvky: 295
Registrován: 8. 10. 2005 15:35
Typ studia: Informatika Bc.
Kontaktovat uživatele:

Příspěvek od Eubie »

To už jsem všechno vyzkoušel eště před postnutím toho dotazu. Bohuižel ani kód

Kód: Vybrat vše

#include <stdio.h>
#include <sqlca.h>

EXEC SQL BEGIN DECLARE SECTION;
	EXEC SQL INCLUDE 'konstanty';    /*   odkaz   */
	char szTest_Array[VELIKOST_POLI];
EXEC SQL END DECLARE SECTION;

int main(void){
	EXEC SQL CONNECT :szTest_Array;
	
	return 0;
	};
neprojde. Na radku kde je /* odkaz */ jsem zkousel konstanty.h, "konstanty.h", 'konstanty.h', konstanty, "konstanty", 'konstanty' a ani jedno z toho nebylo to prave orechove. Zejtra se zeptam Kopeckyho na cviku. Diky!
Uživatelský avatar
Eubie
Matfyz(ák|ačka) level III
Příspěvky: 295
Registrován: 8. 10. 2005 15:35
Typ studia: Informatika Bc.
Kontaktovat uživatele:

Příspěvek od Eubie »

To už jsem všechno vyzkoušel eště před postnutím toho dotazu. Bohuižel ani kód

Kód: Vybrat vše

#include <stdio.h>
#include <sqlca.h>

EXEC SQL BEGIN DECLARE SECTION;
	EXEC SQL INCLUDE 'konstanty';    /*   odkaz   */
	char szTest_Array[VELIKOST_POLI];
EXEC SQL END DECLARE SECTION;

int main(void){
	EXEC SQL CONNECT :szTest_Array;
	
	return 0;
	};
neprojde. Na radku kde je /* odkaz */ jsem zkousel konstanty.h, "konstanty.h", 'konstanty.h', konstanty, "konstanty", 'konstanty' a ani jedno z toho nebylo to prave orechove. Zejtra se zeptam Kopeckyho na cviku. Diky!
Odpovědět

Zpět na „Ostatní“