Quiero conectarme con Oracle (11g) usando unixODBC
. Quiero SOLAMENTE la cadena de conexión para especificar toda la información de base de datos/fuente de datos, y los archivos ODBC INI (/etc/odbc.ini
y /etc/odbcinst.ini
) para contener solo información genérica del controlador como dónde encontrar el '.so' etc. es decir, quiero que sean estático. Quiero hacer esto para poder obtener la cadena de conexión del usuario externamente y conectarme a la fuente de datos sin tener que modificar ninguno de los archivos INI o cualquier otra configuración en el disco.unixODBC/Oracle: ¿Cómo especifico toda la información del origen de datos SOLAMENTE en la cadena de conexión y no en los archivos odbc * .ini
Todos los ejemplos que vi me hacen definir la información del servidor en /etc/odbc.ini
así:
[myDSNname]
Driver = OracleODBC-11g
DSN = OracleODBC-11g
ServerName = //xxx.xxx.xxx.xxx:1521/SID_NAME
UserID = my_user
Password = my_pass
Ahora, me di cuenta de cómo obtener el ID de usuario y contraseña a cabo en la cadena de conexión mediante la adición de "UID=my_user;PWD=my_pass"
a la conexión cadena, y los quité de odbc.ini
. Mi alegría pasó rápidamente cuando no pude encontrar la forma de obtener ServerName
de odbc.ini
y en la cadena de conexión también. Entonces, ¿cómo hago esto? ¿Y hay alguna manera de deshacerse del DSN en odbc.ini
en total, y tener solo el Driver
de odbcinst.ini
en la cadena de conexión, como lo estamos haciendo para MySQL?
Editar: intentar cualquiera de las cadenas de conexión de www.connectionstrings.com que no parecen requerir TNS o un DSN, incliuding EZCONNECT
variantes, todas me dan:
[HY000] [unixODBC][Oracle][ODBC][Ora]ORA-12162: TNS:net service name is incorrectly specified
(12162) (SQLDriverConnectW)
http://www.connectionstrings.com/oracle#p17 –
@Brian - no, no puedo hacer que ninguno funcione. Siempre obtengo: '[HY000] [unixODBC] [Oracle] [ODBC] [Ora] ORA-12162: TNS: el nombre del servicio de red está incorrectamente especificado' –
No use una variante de nombres de tns y/o asegúrese de tener un entrada en su archivo de nombres de tns. –