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.iniy odbcinst.ini. Superficialmente es bastante obvio: en la parte superior del odbc.iniarchivo 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/.soen ambos archivos y los valores a veces difieren. ¿Esto tiene sentido? Si es así, ¿cuál prevalece?
2) ¿ odbcinst.iniPara odbc.iniqué 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.inidentro odbcinst.ini?
3) ¿Cuál es la diferencia entre Drivery Setupen odbcinst.ini? Parecen tener los mismos valores. ¿Estas configuraciones son específicas de la base de datos o son universales?

Respuestas:
Yo uso
FreeTDSenDebianconectar unaphppágina web impulsada a unaMS-SQL Server 2005base de datos.La explicación que puedo dar a los archivos de configuración:
/etc/odbc.iniContiene 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.iniMantiene la configuración para la
Driversección enodbc.ini.-
show-companies.phpphpCó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.inies un archivo de registro y configuración para controladores ODBC en un entorno, mientras queodbc.inies 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.sogeneral, 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.iniprevalecen sobre las configuraciones conflictivas enodbcinst.inicaso de que existan.No,
odbcinst.inino es un "prototipo" de esta manera.odbcinst.inila 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
ManualsluegoUser Manual). Pero desafortunadamente los enlaces paraAdministrator ManualyProgrammer Manualestá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