RODBC MS SQL-Zugriff von Ubuntu mit FreeTDS

Ich versuche, von einem Ubuntu-Computer auf MS SQL Server zuzugreifen, der auf meiner Windows-Box gehostet wird. Ich habe eine glänzende App, die auf MSSQL zugreift und unter Windows einwandfrei funktioniert. Ich möchte dies mit einem glänzenden Server unter Ubuntu hosten, damit andere auf die Webseite zugreifen und ihren SQL-Server als Eingabe für die App bereitstellen können.

All dies funktioniert gut unter Windows. Jetzt kann ich unixODBC nicht mehr zum Laufen bringen. Ich denke, ich habe die Odbc / FreeTDS-Installation und Konfiguration korrekt. Ich kann mit tsql -S eine Verbindung zum Ubuntu-Terminal herstellen und die SQL DB-Instanz abfragen. Es dauerte ein bisschen googeln, aber irgendwann hat es funktioniert.

Wenn ich versuche, eine Verbindung über R herzustellen, wird dieser Fehler angezeigt.

sql <- odbcConnect("abc.xyz.com", "uname", "passwd")

In odbcDriverConnect ("DSN = abc.xyz.com; UID = uname; PWD = passwd"): [RODBC] FEHLER: Status 08001, Code 0, Nachricht [unixODBC] [FreeTDS] [SQL Server]Verbindung zur Datenquelle nicht möglich 2: In odbcDriverConnect ("DSN = abc.xyz.com; UID = uname; PWD = passwd"): [RODBC] FEHLER: Status 01000, Code 20002, Nachricht [unixODBC] [FreeTDS] [SQL Server]Ada, ptive Server Verbindung fehlgeschlagen 3: In odbcDriverConnect ("DSN = abc.xyz.com; UID = uname; PWD = passwd"): [RODBC] FEHLER: Status 01000, Code 20017, Nachricht [unixODBC] [FreeTDS] [SQL Server]Unerwartetes EOF vom Server 4: In odbcDriverConnect ("DSN = abc.xyz.com; UID = uname; PWD = passwd"): ODBC-Verbindung fehlgeschlagen

freeTDS.conf
[abc.xyz.com]
        host = abc.xyz.com
        port = 49475
        tds version = 8.0

odbcinst.ini
[FreeTDS]
Description   = FreeTDS unixODBC Driver
Driver        = /usr/local/lib/libtdsodbc.so
Setup         = /usr/local/lib/libtdsodbc.so

odbc.ini
[abc.xyz.com]
Description = Shiny testing
Driver = FreeTDS
Trace = No
Server = abc.xyz.com\instance_name
Database = dbanme
port = 49475

Dieser Fehler "Unerwartetes EOF vom Server" ist für mich nicht neu. Ich habe den gleichen Fehler erhalten, als ich versucht habe, eine Verbindung mit tsql herzustellen. Ich konnte dies überwinden, indem ich die Zeile "tds version = 8.0" zu freeTDS.conf hinzufügte. Ich bin nicht sicher, wie ich RODBC dazu bringen kann, diese Konfiguration zu verwenden. Ich habe Beiträge gelesen, in denen andere Benutzer mit freeTDS SQL-Server verwenden konnten. Nicht sicher, was hier fehlt. Ich habe auch versucht, RODBC neu zu installieren.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage