Instalar forms

Tengo ORACLE 8i instalado en mi computador y acceso al motor a través del sqlplus con las claves SCOTT y TIGER mi base de datos se llama ORACLE.
Hasta aquí todo bien.
Cuando quiero trabajar con FORMS BUILDER
Y me voy a conectar, este no se conecta con la base de datos ORACLE que es donde tengo mis tablas cuando escribo SCOTT y TIGER.
Se que es algo relacionado con el archivo TNSNAMES. ORA, ya lo he mirado en la carpeta del oracle y veo que tiene bien todo, pero cuando me meto a la carpeta del forms, no lo veo y igual, es decir, veo más código y no son los archivos iguales.
Por favor necesito tu ayuda para poder configurar bien mi oracle con forms, te aclaro que tengo windows 2000.

1 respuesta

Respuesta
1
Lo más probable es que sea un error en la configuración del tnsnames. Ora, como bien apuntas.
Al instalar el sw, cada aplicación (servidor y forms) crean una serie de entradas en el registro de Windows. Es posible que tengas bien el tnsnames. Ora usado por el servidor de BD (sqlplus, etc) pero no el del Forms.
Ejecuta "regedit.exe" en tu PC para entrar en el registro. Busca la entrada: MiPC->HKEY_LOCAL_MACHINE->ORACLE
Si te das cuenta, justo en esa rama y algunas "hijas" definen la variable "TNS_ADMIN". Este es el directorio donde van a buscar el tnsnames. Ora. Es muy posible que apunten a tnsnames. Ora distintos, y lo que debes hacer es unificarlos.
Yo tengo varios productos Oracle (servidor, cliente, designer, etc), cada uno con su propio TNS_ADMIN apuntando a un directorio diferente. Así que modifiqué el registro de Windows para que TODOS apuntaran al mismo tnsnames. Ora. De esta manera, no hace falta que modifiques todos los tnsnames. Ora cuando quieras añadir alguna conexión.
Gracias totales eres un buen experto.
Uhmmmmm... es que es un poco complicado sin poder "cacharrear" directamente a ver qué pasa.
A veces, el problema es que no se le define el dominio. No quiero darte la paliza, pero intenta de nuevo lo que te dije antes (tener el tnsnames. Ora del sqlplus en los dos TNS_ADMIN), pero en lugar de definir el servicio "ORACLE", pon "ORACLE.WORLD" y vuelve a conectar desde Forms.
¿El listener lo tienes arrancado y todo eso, verdad? ¿Y has probado a conectarte "en local" en lugar de por "sql*Net"?
Seguro que es una chorradilla que se nos escapa...
Hola y gracias pero en el oracle para entrar a sqlplus tengo lo siguiente en tnsnames.ora y entra bien
# Generated by Oracle Net8 Assistant
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
ORACLE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx-99edc64e7d8)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oracle.poli)
)
)
************************
Pero en tnsnames.ora del form tengo lo siguiente, me gustaría que me dijeras que cambio tengo que hacer
Beq-local.world =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = BEQ)
(PROGRAM = oracle80)
(ARGV0 = oracle80ORCL)
(ARGS = '(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))')
)
)
(CONNECT_DATA = (SID = ORCL)
)
)
Tcp-loopback.world =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(Host = 127.0.0.1)
(Port = 1521)
)
)
(CONNECT_DATA = (SID = ORCL)
)
)
TcpExample.world =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(Host = Production1)
(Port = 1521)
)
)
(CONNECT_DATA = (SID = ORCL)
)
)
SpxExample.world =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = SPX)
(Service = Server_lsnr)
)
)
(CONNECT_DATA = (SID = ORCL)
)
)
NmpExample.world =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = NMP)
(Server = FinanceServer1)
(Pipe = ORAPIPE)
)
)
(CONNECT_DATA = (SID = ORCL)
)
)
CMExample.world =
(DESCRIPTION=(address_list=
(ADDRESS=
(PROTOCOL=tcp)(PORT=1610)(HOST=CM_SERVER))
(ADDRESS=
(PROTOCOL=tcp)(PORT=1521)(HOST=LSNR_SERVER)))
(CONNECT_DATA=(SID=ORCL))
(SOURCE_ROUTE=yes)
)
extproc_connection_data.world =
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = IPC)
(KEY = EXTPROC%ORACLE_HOME_ID%)
)
(CONNECT_DATA = (SID = extproc)
)
)
Gracias por tu respuesta, pero no me funcionó.
No se que puede ser, no es algo en el mismo código que se pueda cambiar.
Gracias totales
Como te dije, tienes 2 opciones:
a) Unificar todos los TNS_ADMIN en el registro de windows para que lean un único fichero tnsnames. Ora
b) Cada vez que retoques un tnsnames. Ora deberás propagar los cambios al resto de tnsnames. Ora que tengas. Esta opción no me gusta porque se te puede olvidar y volverte loco.
Entiendo que te quieres conectar al service_name llamado oracle. Poli, del host "xxx-99edc64e7d8". Si es así haz la siguiente prueba y me cuentas:
- Haz una copia de seguridad del tnsnames. Ora del Forms (el segundo que me has enviado).
- Luego, sobreescribe éste tnsnames. Ora con el que tienes del sqlplus (el que me has enviado en primer lugar).
- Intenta a conectarte desde Forms con la misma cadena de conexión que usas desde sqlplus.
¿Te funciona así?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas