Handelt es sich bei der tatsächlichen Kultur um SQL zu CLR-Float-Double-Konvertierungen?
Ich arbeite an einer älteren ASP.Net WebForms-App und muss eine neue Funktion nachrüsten. Ich verwende ein generiertes DataSet (Using VS 2013), um die Lücke zwischen ReportViewer und SQL Server (Local reports, rdlc) zu schließen.
Alles funktioniert gut, bis auf eines: Float-Konvertierungen. Auf zwei Windows 8.1 En_US-Systemen wird -10.5 (einer der Werte in einer Spalte) im Bericht als -10.5 angezeigt, auf dem Server (Win 7 SP1 Es_CO) jedoch als -105, obwohl die Abfrage ausgeführt wirdist Rückgabe von -10.5 auf der lokalen SQL-Instanz des Servers.
Ich habe den generierten Code für das Dataset ausgecheckt und es wandelt ein Objekt aus den Datenzeilen direkt in Double um, daher gehe ich davon aus, dass SQL Server die Konvertierung bereits abwickelt (über eine CAST-Anweisung in jeder Spalte).
Kann ich irgendetwas dagegen tun? Erwähnenswert ist, dass alle Anfragen an den Server (Win7-Computer) von einem Win8.1 En_US-Computer stammten.
Statusaktualisierung: Es wird angedeutet (nicht ganz sicher), dass der Fehler bei der Konvertierung von SQL- in CLR-Typen liegt, da das Markieren der Berichtsspalte als String dasselbe Ergebnis liefert.