Ich benötige ein einfaches und vollständiges Tutorial, um eine MSSQL-Verbindung von Ubuntu aus herzustellen.
Ich denke, ich habe FreeTDS und UnixODBC installiert, aber die Konfigurationen sind sehr kompliziert. Ich habe das Problem nicht verstanden.
Ich habe dieses Tutorial befolgt: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/wiki/Platform-Installation---Ubuntu
Aber ich habe versagt.
root@hackmachine:~# isql -v example.com XXXXX XXXXXXX
[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified
[ISQL]ERROR: Could not SQLConnect
root@hackmachine:~#
Bearbeiten:
Vor dieser Bearbeitung waren "/etc/odbcinst.ini" und "/etc/odbc.ini" leer.
Ich habe diese Zeilen zu /etc/odbcinst.ini hinzugefügt:
[FreeTDS]
Description = TDS driver (Sybase/MS SQL)
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
CPTimeout =
CPReuse =
FileUsage = 1
Ich habe diese Zeilen zu /etc/odbc.ini hinzugefügt:
[project_development]
Driver = FreeTDS
Description = ODBC connection via FreeTDS
Trace = No
Servername = developer
Database = project_development
[project_test]
Driver = FreeTDS
Description = ODBC connection via FreeTDS
Trace = No
Servername = developer
Database = test
[project_production]
Driver = FreeTDS
Description = ODBC connection via FreeTDS
Trace = No
Servername = production
Database = project_production
Ich habe von Anfang an keine Änderungen an "/etc/freetds/freetds.conf" vorgenommen.
Trotzdem hat sich nichts geändert.
connection
Mertyildiran
quelle
quelle
Antworten:
Hier finden Sie schrittweise Anleitungen (hier zu finden) :
Installieren Sie zuerst unixODBC:
Ich habe auch die folgenden (möglicherweise erforderlichen) Pakete installiert:
Laden Sie dann FreeTDS herunter, entpacken Sie es, kompilieren Sie es und installieren Sie es (Warnung, die URL kann sich ändern):
Versuchen Sie eine Verbindung über Telnet zu Ihrer SQL Server-Instanz:
Verwenden Sie das tsql-Tool, um die Verbindung zu testen:
Dies sollte Sie zur Eingabe des Passworts auffordern, wonach Sie gegen die Hoffnung hoffen können, dieses schöne Zeichen zu sehen:
Wenn das funktioniert hat, empfehle ich, eine (Codierungs-) Party zu schmeißen. Als nächstes wird etwas konfiguriert. Öffnen Sie die FreeTDS-Konfigurationsdatei. /usr/local/etc/freetds.conf
Fügen Sie den folgenden Eintrag am Ende der Datei hinzu. Wir richten einen Datenquellennamen (DSN) mit dem Namen 'MSSQL' ein.
Öffnen Sie nun die ODBC-Konfigurationsdatei: /usr/local/etc/odbcinst.ini
Fügen Sie am Ende den folgenden MSSQL-Treibereintrag (FreeTDS) hinzu:
Richten Sie schließlich den DSN in ODBC in der Datei odbc.ini hier /usr/local/etc/odbc.ini ein, indem Sie dieses Bit zur Datei hinzufügen:
Testen Sie die Verbindung mit dem isql-Tool:
Wenn Sie "Verbunden!" Du bist golden, Glückwunsch! Wenn nicht, tut es mir wirklich leid; siehe unten, wo es einige Ressourcen gibt, die helfen könnten.
Starten Sie nun Apache neu und testen Sie es von PHP aus mit 'MSSQL' als DSN. Wenn etwas nicht funktioniert, können Sie versuchen, eines oder alle dieser Pakete zu installieren: mdbtools libmdbodbc libmdbtools mdbtools-gmdb
quelle
Auf Trusty 14.04 hatte ich Probleme beim Erstellen von http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
Als ich versuchte, einen
tsql
Befehl auszuführen , stellte ich fest,tsql
dass er über apt installiert werden kann:quelle
Ich hoffe, Sie haben den Inhalt des Links zur Datei kopiert. Sie müssen Ihre SQL Server-Details in der Datei "/etc/odbc.ini" aktualisieren. Sie können auf den Link http://guywyant.info/log/206/connecting-to-ms-sql-server-from-ubuntu/ verweisen.
quelle
Ich musste dies für Ubuntu 14.04 und 17.04 tun, beide LTS 64-Bit. Funktioniert wahrscheinlich für spätere Versionen.
Installieren Sie unixodbc (ODBC-Verbindungen), freetds (SQL Server-Verbindungen) und tdsodbc (Brücke zwischen den beiden ersteren).
Fügen Sie Ihre ODBC-Treiber zu /etc/odbcinst.ini hinzu (sollte leer sein)
Fügen Sie Ihre DSNs zu /etc/odbc.ini hinzu (sollte auch leer sein)
Und das war alles.
quelle
Um die folgende Frage zu beantworten:
... und alle FreeTDS-Setup-Dinge ignorieren.
Verwenden Sie mssql-cli ( Installation , Verwendung ).
quelle
Ich arbeite in einem Unternehmen, das stark Microsoft-Produkte verwendet. Ich arbeite jedoch lieber auf einem Linux-Computer (Ubuntu). Insbesondere verwende ich Ubuntu 16.04 LTS .
Ich verwende DataGrip oder SQL Electron von JetBrains als SQL-GUIs. Für DataGrip ist ein Microsoft JDBC-Treiber für SQL Server erforderlich, auf den Sie beim ersten Öffnen von DataGrip manuell verweisen müssen. Ich habe das eingegeben
/usr/share/java/
, aber überall wird es funktionieren.Das Anschließen ist auf meinem Windows 10-Laptop einfach. Ich öffne einfach SQL Server Management Studio und melde mich mit meinen Anmeldeinformationen an (Benutzername + Kennwort). Ich verwende keine Windows-Authentifizierung.
Voraussetzungen
Um eine Verbindung von Ubuntu herzustellen, ist es ein wenig ( nur ein bisschen ) zusätzliche Arbeit. Zuerst öffne ich auf meinem Windows 10-Computer ein Powershell-Terminal und gebe Folgendes ein
und es gibt so etwas wie zurück
Der Name und die Adresse des Servers sind statisch, sodass die oben genannten Informationen nur einmal pro Server ausgeführt werden müssen, auf den Sie zugreifen möchten.
DataGrip
Dann springe ich auf meinen Linux-Computer und öffne DataGrip. Für die
Host
Eingabe von<server's address>
Port: 1433 (dies ist die Standardeinstellung für MS SQL Server). Die URL sollte ungefähr so aussehen:Wenn Sie auf klicken
Test Connection
, werden Sie zur Anmeldung aufgefordert, falls Sie diese noch nicht hinzugefügt haben. Und das war's für DataGrip!DataGrip verfügt außerdem über das folgende Blog, das für neue Benutzer hilfreich sein kann: Verbinden von DataGrip mit MS SQL Server
SQL Electron
Wenn Sie DataGrip nicht kaufen möchten, können Sie SQL Electron verwenden. Die Schritte sind ähnlich. Öffnen Sie SQL Electron, klicken Sie auf Hinzufügen um einen neuen Server hinzuzufügen, und für
Server Address
Typ in<server's address>
, Port: 1433, und schließlich Ihre Zugangsdaten. Und das ist es!quelle
So stellen Sie eine Verbindung zu einer MSSQL-Instanz her, die auf einem Remote-Server ausgeführt wird:
Befolgen Sie die entsprechenden Schritte in diesem Artikel https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/connection-string-keywords-and-data-source-names-dsns?view=sql -server-2017
HINWEIS: Um die Tests abzuschließen, müssen Sie noch einige weitere Schritte ausführen: Bearbeiten Sie /etc/odbc.ini und fügen Sie Folgendes hinzu:
Führen Sie im Terminal Folgendes aus, um den Test durchzuführen:
Sie sollten eine "verbundene" Antwort sehen.
Wenn Sie Probleme haben, überprüfen Sie, ob die Ports auf Ihrem Linux- und Windows-Server geöffnet sind!
quelle