Vi informações parciais, informações antigas, mas nada tão bom quanto os arquivos de amostra reais com breves comentários que tenho localmente.
Eu preciso entender a relação exata entre odbc.ini
e odbcinst.ini
. Superficialmente, é bastante óbvio - no topo do odbc.ini
arquivo há uma seção como:
[ODBC Data Sources]
MYDSN = MyDriverName
...
No entanto, não tenho certeza se posso, por exemplo, ter configurações na seção driver ou DSN.
1) Eu tenho uma linha Driver = /path/to/file/.so
nos dois arquivos e os valores às vezes diferem. Isso faz algum sentido? Se sim, qual prevalece?
2) É odbcinst.ini
um "protótipo" semelhante ao JavaScript odbc.ini
? Em outras palavras, se estou criando vários DSNs com configurações comuns, posso promover configurações comuns de odbc.ini
para odbcinst.ini
?
3) Qual é a diferença entre Driver
e Setup
em odbcinst.ini
? Eles parecem ter os mesmos valores. Essas configurações são específicas do banco de dados ou são universais?
fonte
Respostas:
Eu uso
FreeTDS
emDebian
conectar umphp
website -driven a umMS-SQL Server 2005
banco de dados.A explicação que posso dar aos arquivos de configuração:
/etc/odbc.ini
Contém a instância mencionada no manipulador (por exemplo
php
) que se conecta ao banco de dados (veja o exemplo abaixo). A configuração define o servidor ao qual ele precisa se conectar.-
/etc/odbcinst.ini
Mantém a configuração da
Driver
seção emodbc.ini
.-
show-companies.php
php
Código de exemplo para demonstrar como eu configuro e uso a conexão.etc etc..
Tenho certeza de que há muitas outras variáveis que podem ser definidas e usadas, mas esta é a explicação mais simples que posso dar sobre os arquivos que você perguntou.
fonte
Se você observar apenas as implementações do Unix, terá algumas idéias interessantes sobre como o ODBC funciona. Nenhuma dessas implementações é 100% comparável à implementação de referência no Windows, produzida pelo mantenedor da especificação ODBC, ou seja, Microsoft .
Existem dois gerenciadores de driver ODBC comumente encontrados no Unix. O iODBC , cuja documentação relevante para esta pergunta está aqui , é mantido e suportado pelo meu empregador. O UnixODBC é o outro, e foi discutido em outras respostas. Elas devem ser equivalentes à API e à implementação do Windows, pois ambas são implementações independentes de plataforma do padrão.
Em termos simples,
odbcinst.ini
é um arquivo de registro e configuração para drivers ODBC em um ambiente, enquantoodbc.ini
é um arquivo de registro e configuração para DSNs ODBC (nomes de fonte de dados), geralmente baseados em drivers registrados no outro.Você teve algumas perguntas específicas ...
O
Driver = /path/to/file.so
geralmente deve ser o mesmo em ambos os arquivos quando ambos são expressos como caminhos. Emodbc.ini
, essa entrada pode serDriver = {name of driver}
onde o nome está indexadoodbcinst.ini
. De um modo geral, as configuraçõesodbc.ini
prevalecem sobre as configurações conflitantes,odbcinst.ini
se existirem.Não,
odbcinst.ini
não é um "protótipo" dessa maneira.odbcinst.ini
as configurações são relevantes para o driver , mas não para os DSNs baseados nesse driver.Em
odbcinst.ini
,Driver =
refere-se à biblioteca de drivers eSetup =
à biblioteca de instalação. O último é totalmente opcional e, quando existe, pode mas não precisa ser usado durante uma conexão de dados; destina-se principalmente ao uso de um Administrador ODBC ao "configurar" essas conexões, para serem salvas como DSNs. Às vezes, essas bibliotecas são encontradas no mesmo arquivo físico, mas não precisam estar e, por exemplo, normalmente não estão no ambiente OS X.fonte
Ok, diferença simples entre odbcinst.ini e odbc.ini do site unixodbc, que é o primeiro hit no google:
fonte
Os manuais devem estar aqui (clique
Manuals
entãoUser Manual
). Infelizmente, os links paraAdministrator Manual
e oProgrammer Manual
estão quebrados. (Eu relatei isso e me disseram que eles serão corrigidos.)Então por agora...
Os manuais ausentes são encontrados baixando o unixODBC-2.3.4.tar.gz em http://www.unixodbc.org/ e, em seguida, abra-o com o gerenciador de arquivos (ou algo semelhante) e veja estes três manuais:
fonte