Hi Seb,
we follow your suggestions: we installed the client (v. 19.3.0),
setup ORACLE_HOME (client installation path), LIBPATH ($LIBPATH:$ORACLE_HOME/lib),
ORACLE_SID was not important. Connection is establish with or without ORACLE_SID set.
and setting a FGLPROFILE (here though we used a different driver because under dbdrivers folder we didn't find a dbmora_18 file).
dbi.default.driver = "dbmoraB2x"
dbi.database.AME.source = "ame"
dbi.database.AME.schema = "ame"
dbi.database.AME.username = "mceusr"
dbi.database.AME.password = "mceusr"
"ame" comes from this tnsnames.ora (host and service are dummy on purpose)
AME =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = foo.bar.corp)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ame.foobar.corp)
)
)
sqlnet.ora on the other hand was like that:
# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.
SQLNET.AUTHENTICATION_SERVICES = (NTS)
then we connected with sqlplus and everything was ok.
now we got another problem because fgldbsch is unable to convert from some ora types to ifx (ie: NUMBER(22)) and it's impossible to compile 4gl
because if we use -ie some tables are skipped but if we do not use -ie fgldbsch exits with error.
Warning: Table "alimentazione_errata.qta" has not a valid datatype [NUMBER] - table is ignored.
Warning: Table "ame_fuori_formato.batch" has not a valid datatype [NUMBER] - table is ignored.
...
SQL: FETCH
| 4gl source : fgldbslib.4gl line=1657
| sqlcode : 0
| curr driver : ident='dbmoraB2x'
| curr connection : ident='fgldbsch' (dbspec=[ame+driver='dbmoraB2x'])
| sql cursor : ident='cu3' (fglname='ctc_ora',module='fgldbslib')
| fgl stmt : SELECT C.TABLE_NAME, C.COLUMN_NAME,
C.DATA_TYPE,
C.DATA_LENGTH, C.CHAR_LENGTH,
C.DATA_PRECISION,
C.DATA_SCALE, C.NULLABLE, C.COL
UMN_ID FROM ALL_TAB_COLUMNS C WHERE C.TABLE_NAME NOT LIKE 'BIN$%' AND UPPER(C.OWNER)='MCEUSR' ORDER BY C.TABLE_NAME, C.COLUMN_ID
| sql stmt : SELECT C.TABLE_NAME, C.COLUMN_NAME,
C.DATA_TYPE,
C.DATA_LENGTH, C.CHAR_LENGTH,
C.DATA_PRECISION,
C.DATA_SCALE, C.NULLABLE, C.COL
UMN_ID FROM ALL_TAB_COLUMNS C WHERE C.TABLE_NAME NOT LIKE 'BIN$%' AND UPPER(C.OWNER)='MCEUSR' ORDER BY C.TABLE_NAME, C.COLUMN_ID
| into(tmp): 9
| t: VARCHAR(200) f:04 v:'ALIMENTAZIONE_ERRATA'
| t: VARCHAR(200) f:04 v:'QTA'
| t: VARCHAR(100) f:04 v:'NUMBER'
| t: INTEGER f:04 v:'22'
| t: INTEGER f:04 v:'0'
| t: INTEGER f:04 v:''
| t: INTEGER f:04 v:''
| t: CHAR(1) f:04 v:'N'
| t: INTEGER f:04 v:'3'
| Execution time : 0 00:00:00.00138
Is there a way to force fgldbsch to translate numbers? we played with -cv option but so far to no avail.
Thanks Seb