Vi información parcial, información antigua, pero nada tan bueno como los archivos de muestra reales con breves comentarios que tengo localmente.
Necesito entender la relación exacta entre odbc.ini
y odbcinst.ini
. Superficialmente es bastante obvio: en la parte superior del odbc.ini
archivo hay una sección como:
[ODBC Data Sources]
MYDSN = MyDriverName
...
Sin embargo, no estoy seguro si puedo, por ejemplo, tener configuraciones en el controlador o en la sección DSN.
1) Tengo una línea Driver = /path/to/file/.so
en ambos archivos y los valores a veces difieren. ¿Esto tiene sentido? Si es así, ¿cuál prevalece?
2) ¿ odbcinst.ini
Para odbc.ini
qué sirve un "prototipo" similar a JavaScript ? En otras palabras, si estoy creando una serie de DSN con configuraciones comunes, ¿puedo promover configuraciones comunes desde odbc.ini
dentro odbcinst.ini
?
3) ¿Cuál es la diferencia entre Driver
y Setup
en odbcinst.ini
? Parecen tener los mismos valores. ¿Estas configuraciones son específicas de la base de datos o son universales?
Respuestas:
Yo uso
FreeTDS
enDebian
conectar unaphp
página web impulsada a unaMS-SQL Server 2005
base de datos.La explicación que puedo dar a los archivos de configuración:
/etc/odbc.ini
Contiene la instancia a la que se hace referencia dentro del controlador (p
php
. Ej. ) Que se conecta a la base de datos (consulte el ejemplo a continuación). La configuración define el servidor al que necesita conectarse.-
/etc/odbcinst.ini
Mantiene la configuración para la
Driver
sección enodbc.ini
.-
show-companies.php
php
Código de ejemplo para demostrar cómo configuro y uso la conexión.etcétera etcétera..
Estoy seguro de que hay muchas otras variables que se pueden configurar y usar, pero esta es la explicación más simple que puedo dar de los archivos que solicitó.
fuente
Si solo observa las implementaciones de Unix, obtendrá algunas ideas interesantes sobre cómo funciona ODBC. Ninguna de estas implementaciones es 100% comparable a la implementación de referencia en Windows, producida por el responsable de la especificación ODBC, es decir, Microsoft .
Hay dos administradores de controladores ODBC que se encuentran comúnmente en Unix. iODBC , cuya documentación relevante para esta pregunta está aquí , es mantenida y respaldada por mi empleador. UnixODBC es el otro, y se discutió en otras respuestas. Se supone que son API equivalentes entre sí y para la implementación de Windows, ya que ambas son implementaciones independientes de la plataforma del estándar.
En términos simples,
odbcinst.ini
es un archivo de registro y configuración para controladores ODBC en un entorno, mientras queodbc.ini
es un archivo de registro y configuración para DSN de ODBC (nombres de origen de datos), generalmente basado en controladores registrados en el otro.Tenías algunas preguntas específicas ...
En
Driver = /path/to/file.so
general, debería ser el mismo en ambos archivos cuando ambos se expresan como rutas. Enodbc.ini
, esta entrada puede serDriver = {name of driver}
donde el nombre está indexadoodbcinst.ini
. En términos generales, las configuracionesodbc.ini
prevalecen sobre las configuraciones conflictivas enodbcinst.ini
caso de que existan.No,
odbcinst.ini
no es un "prototipo" de esta manera.odbcinst.ini
la configuración es relevante para el controlador , pero no para los DSN basados en ese controlador.En
odbcinst.ini
, seDriver =
refiere a la biblioteca de controladores ySetup =
a la biblioteca de configuración. Este último es completamente opcional, y cuando existe, puede pero no necesita ser usado durante una conexión de datos; está destinado principalmente para que lo use un administrador de ODBC cuando "configura" tales conexiones, para guardarlas como DSN. A veces, estas bibliotecas se encuentran en el mismo archivo físico, pero no es necesario que estén, y, por ejemplo, normalmente no se encuentran en el entorno OS X.fuente
Bien, simple diferencia entre odbcinst.ini y odbc.ini del sitio unixodbc , que es el primer éxito en google:
fuente
Se supone que los manuales están aquí (haga clic
Manuals
luegoUser Manual
). Pero desafortunadamente los enlaces paraAdministrator Manual
yProgrammer Manual
están rotos. (He informado esto y me dijeron que se solucionarán).Así que por ahora...
Los manuales que faltan se encuentran descargando unixODBC-2.3.4.tar.gz de http://www.unixodbc.org/ y luego ábralo con el administrador de archivos (o similar) y mire estos tres manuales:
fuente