JoachimU 0 Geschrieben 24. Dezember 2022 Melden Teilen Geschrieben 24. Dezember 2022 (bearbeitet) Hallo! Urplötzlich läuft der R-Service auf SQL-Server 2016 SP1 nicht mehr korrekt. sqlConnString <- "Driver=SQL Server;Server=localhost\\SQL2016;Database=simulationdb;uid=simuser;pwd=simuser" serverData <- RxOdbcData(connectionString = sqlConnString, sqlQuery = "select a as a,b as b from simulation.test1") OutputDataSet <- rxDataStep(serverData) Caught exception in file: CxAnalysis.cpp, line: 6660. ThreadID: 19580 Rethrowing. Caught exception in file: CxAnalysis.cpp, line: 5830. ThreadID: 19580 Rethrowing. Caught exception in file: CxAnalysis.cpp, line: 5378. ThreadID: 19580 Rethrowing. Error in doTryCatch(return(expr), name, parentenv, handler) : Beim Versuch, den Fehler einzukreisen habe ich sogar eine Neuinstallation des SQL Servers vorgenommen, diverse R-Client Versionen installiert, neue RevoScalR-Paket Versionen ausprobiert. Der Fehler muss im Zusammenspiel mit dem SQL Server und RevoscaleR liegen. Das Vorliegen einer numerischen Spalte ist offensichtlich Ursache für den Abbruch. use simulationdb go drop table simulation.test1 go create table simulation.test1( a nvarchar(2048), b float ) go insert into simulation.test1(a,b) values ('TEST', 1.01) insert into simulation.test1(a,b) values ('TEST', 2.02) insert into simulation.test1(a,b) values ('TEST', 3.03) select * from simulation.test1 Was ist da passiert? Frohes Fest! bearbeitet 24. Dezember 2022 von JoachimU Zitieren Link zu diesem Kommentar
t-sql 18 Geschrieben 27. Dezember 2022 Melden Teilen Geschrieben 27. Dezember 2022 Dann ist die erste Maßnahme die Kiste mal auf SP3 zu heben Zitieren Link zu diesem Kommentar
JoachimU 0 Geschrieben 28. Dezember 2022 Autor Melden Teilen Geschrieben 28. Dezember 2022 @t-sql Danke, aber alles ausprobiert! Es ist nachvollziehbar in RStudio mit neuestem RevoscaleR und SQL Server Datenquelle. Es hat also nichts mit R-Services zu tun. Und auch nicht mit der SQL Server Version, da es mit dem SP1 ja 3 Jahre lief. Es muss im Zusammenspiel ODBC Schnittstelle/ Native Client und der RevoScaleR liegen. Es sind auch nur Spalten vom Typ float betroffen. Decimal klappen. Nachtrag: Ausgelesen wird eine Zeile von den Dreien. Der Inhalt des FLOAT-Elements ist 0. Zitieren Link zu diesem Kommentar
NorbertFe 2.050 Geschrieben 28. Dezember 2022 Melden Teilen Geschrieben 28. Dezember 2022 Gerade eben schrieb JoachimU: da es mit dem SP1 ja 3 Jahre lief. Die Service packs gibts doch nicht umsonst… läuft doch ist heutzutage schon „fahrlässig“. und ja ich kann dir bei dem eigentlichen Problem nicht helfen, bin nur immer wieder erstaunt, dass man seine Systeme nicht pflegt. Zitieren Link zu diesem Kommentar
Beste Lösung t-sql 18 Geschrieben 28. Dezember 2022 Beste Lösung Melden Teilen Geschrieben 28. Dezember 2022 (bearbeitet) vor 34 Minuten schrieb JoachimU: @t-sql Danke, aber alles ausprobiert! Es ist nachvollziehbar in RStudio mit neuestem RevoscaleR und SQL Server Datenquelle. Es hat also nichts mit R-Services zu tun. Und auch nicht mit der SQL Server Version, da es mit dem SP1 ja 3 Jahre lief. Es muss im Zusammenspiel ODBC Schnittstelle/ Native Client und der RevoScaleR liegen. Es sind auch nur Spalten vom Typ float betroffen. Decimal klappen. Nachtrag: Ausgelesen wird eine Zeile von den Dreien. Der Inhalt des FLOAT-Elements ist 0. Alles klar. Dann installier mal die aktuellste OBDC Treiber Version für den SQL Server, aktuell 181.2.1 vor 32 Minuten schrieb NorbertFe: Die Service packs gibts doch nicht umsonst… Vermutlich nur ein Schreibfehler von Dir. Seis drum. Die Servicepacks gibts umsonst bearbeitet 28. Dezember 2022 von t-sql Zitieren Link zu diesem Kommentar
NorbertFe 2.050 Geschrieben 28. Dezember 2022 Melden Teilen Geschrieben 28. Dezember 2022 Ne die gibts gratis aber nicht umsonst. Man kann’s aber auch absichtlich missverstehen. ;) Zitieren Link zu diesem Kommentar
JoachimU 0 Geschrieben 28. Dezember 2022 Autor Melden Teilen Geschrieben 28. Dezember 2022 Wieder ein Stück weiter... require(RevoScaleR) # Damit geht es nicht: sqlConnString <- "Driver=SQL Server;Server=tcp:localhost,1433;Database=simulationdb;Encrypt=no;UID=simuser;PWD=simuser" # Damit geht es: #sqlConnString <- "Driver=ODBC Driver 18 for SQL Server;Server=tcp:localhost,1433;Database=simulationdb;Encrypt=no;UID=simuser;PWD=simuser" serverData <- RxOdbcData(connectionString = sqlConnString, sqlQuery = "select nvarchart, decimalt, numerict, floatt from simulation.test1",stringsAsFactors = FALSE) OutputDataSet <- rxDataStep(serverData, numRows=10) Also hat es auch den Native Client zerschossen! Zitieren Link zu diesem Kommentar
JoachimU 0 Geschrieben 28. Dezember 2022 Autor Melden Teilen Geschrieben 28. Dezember 2022 Driver=SQL Server; ... muss wohl korrekterweise Driver=SQL Server Native Client 11.0; oder Driver=ODBC Driver 18 for SQL Server; heißen! Ersterer ist wohl Zugriff über einen vom Betriebssystem mitgelieferten Treiber. Zweiter ist mittlerweile deprecated und Dritter ist aktuell. Danke für den Tipp t-sql Zitieren Link zu diesem Kommentar
t-sql 18 Geschrieben 28. Dezember 2022 Melden Teilen Geschrieben 28. Dezember 2022 vor 4 Stunden schrieb NorbertFe: Ne die gibts gratis aber nicht umsonst. Man kann’s aber auch absichtlich missverstehen. ;) Nee, du meinst: Gibts umsonst aber net kostenlos. So wird n Schuh draus. Zitieren Link zu diesem Kommentar
NorbertFe 2.050 Geschrieben 28. Dezember 2022 Melden Teilen Geschrieben 28. Dezember 2022 Ne denn die sind ja gratis und kostenlos, aber nicht umsonst. Mein Schuh stimmt schon. 1 Zitieren Link zu diesem Kommentar
NilsK 2.940 Geschrieben 28. Dezember 2022 Melden Teilen Geschrieben 28. Dezember 2022 Moin, Lecker, Popcorn. Gruß, Nils 3 Zitieren Link zu diesem Kommentar
testperson 1.682 Geschrieben 29. Dezember 2022 Melden Teilen Geschrieben 29. Dezember 2022 vor 10 Stunden schrieb NilsK: Lecker, Popcorn. Ist das gratis, kostenlos und/oder umsonst? 2 Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.