OCI Oracle Call Interface
Добавлено: 15 окт 2003, 17:57
Есть такая вот програмка, которая просто должна приконектиться к Oracle, а потом отконектиться. Всё бы ничего, но на этапе линковке
выдаёт
undefined reference to `olog(cda_def *, unsigned char *, unsigned char *, int, unsigned char *, int, unsigned char *, int, unsigned int)'
Может кто знает, что ей не хватает. Два дня мучаюсь... всё бес толку.
Заранее спасибо.
#include <oratypes.h>
#include <ocidfn.h>
#include <ociapr.h>
cda_def *CDA;
Lda_Def *LDA;
ub1 *HDA;
int result = 1;
char *ora_name = "yankovskiy";
char *ora_pass = "deadman";
char *ora_host = "TCPA";
//---------------------------------------------------------------------------------------------------------------------------------------
int connect( void ){
CDA = new cda_def;
LDA = new Lda_Def;
HDA = new ub1[512];
memset( HDA, 0, 512 );
if( CDA == NULL || HDA == NULL || LDA == NULL ){ printf( "connect error..." ); return 1; }
setenv("TNS_ADMIN", "/u01/app/oracle/product/8.1.7/network/admin", 1 );
setenv("ORACLE_BASE", "/u01/app/oracle", 1 );
setenv("ORACLE_HOME", "/u01/app/oracle/product/8.1.7", 1 );
setenv("ORACLE_SID", "ORAW", 1 );
setenv("NLS_LANG", "american_america.CL8MSWIN1251", 1 );
setenv("NLS_NUMERIC_CHARACTERS", ". ", 1 );
setenv("LD_LIBRARY_PATH", "/u01/app/oracle/product/8.1.7/lib:/lib:/usr/lib:/u01/app/oracle/product/8.1.7/jdbc/lib:/u01/app/oracle/product/8.1.7/ctx/lib", 1 );
opinit( OCI_EV_TSF ); //Define Thread-safe envaronment
result = olog( LDA, HDA, (OraText *)ora_name, strlen( ora_name ),
(OraText *)ora_pass, strlen( ora_pass ),
0, -1, OCI_LM_DEF );
return result;
}//function
//---------------------------------------------------------------------------------------------------------------------------------------
int disconnect( void ){
if( CDA == NULL || HDA == NULL || LDA == NULL ){ printf( "disconnect error" ); return 1; }
if( result == 0 ) result = ologof( LDA );
delete LDA;
delete CDA;
delete HDA;
return result;
}//function
//---------------------------------------------------------------------------------------------------------------------------------------
выдаёт
undefined reference to `olog(cda_def *, unsigned char *, unsigned char *, int, unsigned char *, int, unsigned char *, int, unsigned int)'
Может кто знает, что ей не хватает. Два дня мучаюсь... всё бес толку.
Заранее спасибо.
#include <oratypes.h>
#include <ocidfn.h>
#include <ociapr.h>
cda_def *CDA;
Lda_Def *LDA;
ub1 *HDA;
int result = 1;
char *ora_name = "yankovskiy";
char *ora_pass = "deadman";
char *ora_host = "TCPA";
//---------------------------------------------------------------------------------------------------------------------------------------
int connect( void ){
CDA = new cda_def;
LDA = new Lda_Def;
HDA = new ub1[512];
memset( HDA, 0, 512 );
if( CDA == NULL || HDA == NULL || LDA == NULL ){ printf( "connect error..." ); return 1; }
setenv("TNS_ADMIN", "/u01/app/oracle/product/8.1.7/network/admin", 1 );
setenv("ORACLE_BASE", "/u01/app/oracle", 1 );
setenv("ORACLE_HOME", "/u01/app/oracle/product/8.1.7", 1 );
setenv("ORACLE_SID", "ORAW", 1 );
setenv("NLS_LANG", "american_america.CL8MSWIN1251", 1 );
setenv("NLS_NUMERIC_CHARACTERS", ". ", 1 );
setenv("LD_LIBRARY_PATH", "/u01/app/oracle/product/8.1.7/lib:/lib:/usr/lib:/u01/app/oracle/product/8.1.7/jdbc/lib:/u01/app/oracle/product/8.1.7/ctx/lib", 1 );
opinit( OCI_EV_TSF ); //Define Thread-safe envaronment
result = olog( LDA, HDA, (OraText *)ora_name, strlen( ora_name ),
(OraText *)ora_pass, strlen( ora_pass ),
0, -1, OCI_LM_DEF );
return result;
}//function
//---------------------------------------------------------------------------------------------------------------------------------------
int disconnect( void ){
if( CDA == NULL || HDA == NULL || LDA == NULL ){ printf( "disconnect error" ); return 1; }
if( result == 0 ) result = ologof( LDA );
delete LDA;
delete CDA;
delete HDA;
return result;
}//function
//---------------------------------------------------------------------------------------------------------------------------------------