Wenn ich dieses odbcinst -j
ansehe zeigt es
Aber es gibt keinen Ort /etc/unixODBC/odbcinst.ini
. Der tatsächliche Standort ist /etc/odbcinst.ini
, also muss ich den Standort ändern. Wie kann ich es tun?
Ich versuche, unter Skript
zu laufen %Vor%Aber es zeigt den folgenden Fehler
%Vor%und ich habe die Dateiinformationen odbc.in und odbcinst.ini wie folgt hinzugefügt
%Vor% Ich hoffe, das Problem ist in odbcinst -j
, wenn ich es zeige, zeigt es den falschen Pfad an. Ich kann nicht reparieren.?
Es sieht so aus, als ob der "Standard" -Pfad nicht korrekt eingestellt ist.
Ich bin mir ziemlich sicher, dass Sie es bereits tun, wie es an verschiedenen Stellen erwähnt wird, aber ich möchte daran erinnern, dass Sie die richtigen Umgebungsvariablen wie in den folgenden Links beschrieben einstellen sollten:
Ссылка
Ссылка
Das bedeutet, dass Sie in Ihrem Fall ein paar Zeilen zu Ihrem .bashrc
oder .bash_profile
oder ähnlichem hinzufügen könnten, so dass das Programm bei jedem Öffnen Ihrer Shell auf die richtigen Stellen zeigt.
Die hinzuzufügenden Zeilen wären dann:
Wenn Sie den Quellcode des Pakets unixODBC-2.2.14-p2 betrachten, wird beim Aufruf von odbcinst -j
die folgende Verzweigung im Code durchlaufen:
und PrintConfigInfo()
drucken mehrere Informationen, insbesondere was Sie sehen
Sehen wir uns jetzt eine der print-Anweisungen an, um zu verstehen, woher der Pfad kommt, nehmen wir zum Beispiel die Zeile
%Vor% wobei szFileName
durch den folgenden Aufruf festgelegt wird:
welches in der Datei odbcinst/_odbcinst_SystemINI.c
:
Hier wird die zu druckende Zeichenfolge in der folgenden Zeile festgelegt
%Vor% Um zu verstehen, wie odbcinst_system_file_path( b1 )
diesen Pfad setzt, betrachten wir die Quelle und finden
was Sie sehen können, lesen Sie die Umgebungsvariable durch getenv( "ODBCSYSINI" )
. Ähnlich für andere. Jetzt hat der ursprüngliche Code eine andere Verzweigung, macht aber eine ähnliche Sache mit benutzerdefinierten Funktionen.
Ich glaube, dass der Grund für den Fehler, den Sie erhalten, darin liegt, dass die DRIVER-Definition von .odbc.ini nicht auf den Treibernamen Ihres odbcinst.ini verweist.
Es sollte so etwas sein:
%Vor%Obendrein glaube ich, dass Ihr Treiber (libodbcmyS.so) NICHT korrekt für SQL-Server ist. (Hinweis: Diese Antwort hängt von der symbolischen Verknüpfung ab, die Sie bereits hinzugefügt haben.)
Tags und Links python sql-server ubuntu-14.04