So bearbeiten Sie den Pfad in odbcinst -j

8

Wenn ich dieses odbcinst -j ansehe zeigt es

%Vor%

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.?

    
mkHun 11.01.2017, 07:43
quelle

2 Antworten

5

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:

%Vor%

Wenn Sie den Quellcode des Pakets unixODBC-2.2.14-p2 betrachten, wird beim Aufruf von odbcinst -j die folgende Verzweigung im Code durchlaufen:

%Vor%

und PrintConfigInfo() drucken mehrere Informationen, insbesondere was Sie sehen

%Vor%

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:

%Vor%

welches in der Datei odbcinst/_odbcinst_SystemINI.c :

definiert ist %Vor%

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

%Vor%

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.

    
fedepad 24.01.2017, 15:10
quelle
1

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.)

    
gregory 25.01.2017 04:10
quelle

Tags und Links