PDF de programación - Procesar Oracle en Debian Woody

Imágen de pdf Procesar Oracle en Debian Woody

Procesar Oracle en Debian Woodygráfica de visualizaciones

Actualizado el 28 de Julio del 2017 (Publicado el 14 de Enero del 2017)
706 visualizaciones desde el 14 de Enero del 2017
23,2 KB
9 paginas
Creado hace 20a (29/06/2003)
Procesar Oracle en Debian Woody

Guybrush Treepwood

Tabla de contenidos
1. Preliminares...............................................................................................................................................................3
2. Preparación ...............................................................................................................................................................3

Procesar Oracle en Debian Woody

por Guybrush Treepwood

Francisco F. Serrador
<[email protected]>

Historial de revisiones
Revisión 1.0 29 de junio de 2003
Formateado en Docbook-XML

1. Preliminares
Este documento va a explicar como hacer funcionar los precompiladores de C++ en Debian Woody utilizando una
máquina como sigue:

• Kernel 2.4.18

• Gcc 2.95.4

• proc 8.1.7.4.0

Bueno, como todos sabéis si estais aquí, la versión de oracle 8.1.7.0 sólo esta certificada para un par de versiones de
RedHat, creo que 7.0 y 7.1, Esto no quiere decir que no funcone en otras, sólo que los de oracle se lavan las manos
cuando tienes un problema.

Este documento va a tratar sobre la versión de oracle 8.1.7.4.0, más que nada porque es la versión más estable,
y la última versión de 8.1. Si estás planteándote instalar una versión 8.1 deberías parchear hasta este nivel. El
parche para subir de 8.1.7.0.0 a 8.1.7.4 es: p2376472_8174_LINUX.zip Para descargarlo hay que ir a la web de
metalink.oracle.com y en la sección de parches buscas el numerito 2376472. Eso sí, el parche son 128 Mb.

2. Preparación
Bueno, supongamos que ya tenéis instalado y funcionando el soft de oracle. Os adelanto un par de cuestiones sobre
cómo instalarlo. El proceso consiste básicamente en:

• El tema mas importante que no está documentado en ningún sitio es quitar la variable de entorno $LANG , si no lo

quitas el «installer» no funciona.

• Después, si te da el error de fin de canal de comunicaciones al hacer el startup nomount, hay que parchear las glib,
aunque creo recordar que para debian no es necesario. De todos modos esto está ya muy documentado y buscado en
google o en metalink seguro que encontráis algo. De todos modos no desesperéis, dentro de poco haré la prueba, y
lo documentaré otra vez. Bueno, como ya supondréis la mejor manera de probar los compiladores son los ejemplos
que oracle proporciona, pero yo por si acaso voy a daros otro que es más simple y es lo básico que ha de compilar.

int main()
{
char login[255]="usuario/contraseña@basedatos";
char c;
/*Esto es un comentario*/
EXEC SQL BEGIN DECLARE SECTION;
char *uid="eyps_manager/eyps_manager@pru_prd_dba";
EXEC SQL END DECLARE SECTION;
EXEC SQL INCLUDE sqlca.h;
EXEC SQL CONNECT :uid;
printf("dale caña");
c=getchar();
EXEC SQL COMMIT WORK RELEASE;
return 0;
}

3

Procesar Oracle en Debian Woody

Este fichero no hace nada. Únicamene conecta con la base de datos y espera a que pulsemos una tecla. Es simplemente
para confirmar que funciona el proc. La configuracion de variables de entorno que tengo son:

LANG=es_ES.ISO-8859-15
LC_ALL=es_ES.ISO-8859-15
LC_MESSAGES=spanish
LD_LIBRARY_PATH=:/opt/oracle/product/8.1.7/lib
ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/product/8.1.7
PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/opt/oracle/product/8.1.7/bin:

/opt/java/jdeveloper/jdev/bin:/opt/java/jdk1.3.1_07/bin

Si intentamos compilar a mano el fichero que he puesto al principo pasa lo siguiente:

$ proc conecta.pc

Esto generará un fichero conecta.c que tendremos que compilar en el gcc. Ojo al dato: el proc se configura con un
fichero $ORACLE_HOME/precomp/admin/pcscfg.cfg Este fichero por omisión está vacío, y de momento dejadlo así.
Luego os contaré qué poner ahí.

La sintaxis del gcc para que compile bien:

gcc conecta.c -o conecta -idirafter $ORACLE_HOME/precomp/public \ -L$ORACLE_HOME/lib -lclntsh

Se debería poder indicar las bibliotecas en el $LD_LIBRARY_PATH pero yo no he conseguido que funcione, así que
pasamos los parámetros en la línea de comandos.

Bueno, ya podéis ejecutarlo. En el mejor de los casos conectará a la base de datos y os pedirá que pulséis una tecla y
en el peor de los casos os dará un error ORA-***** pero el ejecutable está funcionando.

¿Ha sido fácil no? pues intentar compilar ahora el sample1.pc a ver que pasa.

---------------------Error.log------------------------

Pro*C/C++: Release 8.1.7.4.0 - Production on Sáb Jun 28 20:37:39 2003

(c) Copyright 2000 Oracle Corporation.

All rights reserved.

Valores de la opción predeterminados del sistema tomados de:

/opt/oracle/product/8.1.7/precomp/admin/pcscfg.cfg

Error en la línea 34, columna 11 del fichero /usr/include/stdio.h
# include <stddef.h>
..........1
PCC-S-02015, no se ha podido abrir el fichero de inclusión
Error en la línea 29, columna 10 del fichero /usr/include/bits/types.h
#include <stddef.h>
.........1
PCC-S-02015, no se ha podido abrir el fichero de inclusión
Error de sintaxis en la línea 50, columna 3, fichero /usr/include/bits/pthreadtypes.h:

4

Procesar Oracle en Debian Woody

Error en la línea 50, columna 3 del fichero /usr/include/bits/pthreadtypes.h

size_t __guardsize;

..1
PCC-S-02201, Se ha encontrado el símbolo "size_t" cuando se esperaba uno de los
siguientes:

} char, const, double, enum, float, int, long, ulong_varchar,
OCIBFileLocator OCIBlobLocator, OCIClobLocator, OCIDateTime,
OCIExtProcContext, OCIInterval, OCIRowid, OCIDate, OCINumber,
OCIRaw, OCIString, short, signed, sql_context, sql_cursor,
struct, union, unsigned, utext, uvarchar, varchar, void,
volatile, a typedef name,

El símbolo "enum," ha sido sustituido por "size_t" para continuar.

Error de sintaxis en la línea 53, columna 3, fichero /usr/include/bits/pthreadtypes.h:
Error en la línea 53, columna 3 del fichero /usr/include/bits/pthreadtypes.h

size_t __stacksize;

..1
PCC-S-02201, Se ha encontrado el símbolo "size_t" cuando se esperaba uno de los
siguientes:

} char, const, double, enum, float, int, long, ulong_varchar,
OCIBFileLocator OCIBlobLocator, OCIClobLocator, OCIDateTime,
OCIExtProcContext, OCIInterval, OCIRowid, OCIDate, OCINumber,
OCIRaw, OCIString, short, signed, sql_context, sql_cursor,
struct, union, unsigned, utext, uvarchar, varchar, void,
volatile, a typedef name,

El símbolo "enum," ha sido sustituido por "size_t" para continuar.

Error en la línea 14, columna 10 del fichero /usr/include/_G_config.h
#include <stddef.h>
.........1
PCC-S-02015, no se ha podido abrir el fichero de inclusión
Error en la línea 48, columna 10 del fichero /usr/include/wchar.h
#include <stddef.h>
.........1
PCC-S-02015, no se ha podido abrir el fichero de inclusión
Error de sintaxis en la línea 72, columna 5, fichero /usr/include/wchar.h:
Error en la línea 72, columna 5 del fichero /usr/include/wchar.h

wint_t __wch;

....1
PCC-S-02201, Se ha encontrado el símbolo "wint_t" cuando se esperaba uno de los
siguientes:

char, const, double, enum, float, int, long, ulong_varchar,
OCIBFileLocator OCIBlobLocator, OCIClobLocator, OCIDateTime,
OCIExtProcContext, OCIInterval, OCIRowid, OCIDate, OCINumber,
OCIRaw, OCIString, short, signed, sql_context, sql_cursor,
struct, union, unsigned, utext, uvarchar, varchar, void,
volatile, a typedef name,

El símbolo "enum," ha sido sustituido por "wint_t" para continuar.

5

Procesar Oracle en Debian Woody

Error de sintaxis en la línea 29, columna 3, fichero /usr/include/_G_config.h:
Error en la línea 29, columna 3 del fichero /usr/include/_G_config.h

__mbstate_t __state;

..1
PCC-S-02201, Se ha encontrado el símbolo "__mbstate_t" cuando se esperaba uno de

los siguientes:

} char, const, double, enum, float, int, long, ulong_varchar,
OCIBFileLocator OCIBlobLocator, OCIClobLocator, OCIDateTime,
OCIExtProcContext, OCIInterval, OCIRowid, OCIDate, OCINumber,
OCIRaw, OCIString, short, signed, sql_context, sql_cursor,
struct, union, unsigned, utext, uvarchar, varchar, void,
volatile, a typedef name,

El símbolo "enum," ha sido sustituido por "__mbstate_t" para continuar.

Error de sintaxis en la línea 34, columna 3, fichero /usr/include/_G_config.h:
Error en la línea 34, columna 3 del fichero /usr/include/_G_config.h

__mbstate_t __state;

..1
PCC-S-02201, Se ha encontrado el símbolo "__mbstate_t" cuando se esperaba uno de

los siguientes:

} char, const, double, enum, float, int, long, ulong_varchar,
OCIBFileLocator OCIBlobLocator, OCIClobLocator, OCIDateTime,
OCIExtProcContext, OCIInterval, OCIRowid, OCIDate, OCINumber,
OCIRaw, OCIString, short, signed, sql_context, sql_cursor,
struct, union, unsigned, utext, uvarchar, varchar, void,
volatile, a typedef name,

El símbolo "enum," ha sido sustituido por "__mbstate_t" para continuar.

Error en la línea 48, columna 10 del fichero /usr/include/wchar.h
#include <stddef.h>
.........1
PCC-S-02015, no se ha podido abrir el fichero de inclusión
Error en la línea 31, columna 10 del fichero /usr/include/gconv.h
#include <stddef.h>
.........1
PCC-S-02015, no se ha podido abrir el fichero de inclusión
Error de sintaxis en la línea 72, columna 26, fichero /usr/include/gconv.h:
Error en la línea 72, columna 26 del fichero /usr/include/gconv.h

unsigned char **, size_t *, int, int);

.........................1
PCC-S-02201, Se ha encontrado el símbolo "size_t" cuando se esperaba uno de los
siguientes:

... auto, char, const, double, enum, float, int, long,
ulong_varchar, OCIBFileLocator OCIBlobLocator,
OCIClobLocator, OCIDateTime, OCIExtProcContext, OCIInterval,
OCIRowid, OCIDate, OCINumber, OCIRaw, OCIString, register,
short, signed, sql_context, sql_cursor, static, struct,
union, unsigned, utext, uvarchar, varchar, void, volatile,
a typedef name, exec oracle, exec oracle begin, exec,
exec sql, exec sql begin, exec sql type, exec sql var,

6

Procesar Oracle en Debian Woody

El símbolo "enum," ha sido sustituido por "size_t" para continuar.

Error de sintaxis en la línea 85, columna 7, fichero /usr/include/gconv.h:
Error en la línea 85, columna 7 del fichero /usr/include/gconv.h

size_t *);

......1
PCC-S-02201, Se ha encontrado el símbolo
  • Links de descarga
http://lwp-l.com/pdf1338

Comentarios de: Procesar Oracle en Debian Woody (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad