Dezimaltrennzeichen "Komma" oder "Punkt" in SQL-Datenbank
Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Dezimaltrennzeichen "Komma" oder "Punkt" in SQL-Datenbank
Hallo,
ich schreibe gerade das erste Mal Messwerte (double) direkt in eine Datenbank. Dazu nutze ich die Database-VIs des DSC-Moduls. Die Verbindung zur Datenbank läuft über den "Microsoft OLE DB Provider for SQL Server".
Die Datenbank wurde von unserer IT bereitgestellt.
Das Füllen der Felder funktioniert auch ganz wunderbar. Nun hat mich die IT jedoch gebeten, die Messdaten mit dem Dezimaltrenntzeichen "," statt "." zu schreiben. Habe ich da überhaupt Einfluss drauf? Ich hätte gedacht, dass das in der DB selbst bzw. in dem Viewer, mit dem man die Daten anzeigt, konfiguriert werden muss (Wie gesagt, ich arbeite das erste Mal mit einer Datenbank und habe dazu quasi keine Vorkenntnisse). Wenn dem nicht so ist, kann man das irgendwo in den DB-VIs einstellen, welches Format er da verwenden soll? Oder in den LV-Einstellungen? Ich habe leider nichts gefunden...
RE: Dezimaltrennzeichen "Komma" oder "Punkt" in SQL-Datenbank
Wenn das Datenbank-Format der entsprechenden Zeile eine "Zahl" ist, dann hast du Recht. DB-intern wird wirklich eine Zahl im "Binärformat" gespeichert, Punkt oder Komma sollten dann alleine vom darstellenden System abhängen.
Gruß, Jens
P.S.: Daten mit DSC-Modul in eine "Nicht-DSC-Citadel" DB zu schreiben halte ich für Engineering Overkill. Dafür gibt IMHO das Database-Toolkit besser geeignet.
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
RE: Dezimaltrennzeichen "Komma" oder "Punkt" in SQL-Datenbank
Hallo Jens,
danke für deine Antwort!
Ja, die entsprechenden Spalten sind "Zahlen".
Bei den verwendeten VIs habe ich mich vermutlich unklar ausgedrückt. Ich verwende diese:
Ich war der Meinung, dass die erst mit der Installation des DSC-Moduls dazu gekommen sind. Oder welches Database-Toolkit meintest du?
Gruß,
Soean
04.12.2014, 11:11 (Dieser Beitrag wurde zuletzt bearbeitet: 04.12.2014 11:12 von jg.)
RE: Dezimaltrennzeichen "Komma" oder "Punkt" in SQL-Datenbank
Hallo Jens,
ich hänge einen Screenshot des Codes an. Im Wesentlichen habe ich drei double-Werte, die zunächst noch die Einheit mOhm "mitschleppen". Die Einheit nehme ich wieder weg und schiebe die Werte in den Cluster, der danach als Variant in die DB geschrieben wird. Ich habe noch einmal nachgefragt: Der Datentyp der Spalten lautet "NChar" (?). Kenne ich nicht, ich hoffe, ich habe es richtig geschrieben. Ich könne es wohl aber auch bei dem Punkt belassen, hieß es nun gerade...trotzdem wäre es interessant zu wissen ;-)
Danke für deine Unterstützung!
04.12.2014, 13:50 (Dieser Beitrag wurde zuletzt bearbeitet: 04.12.2014 13:51 von jg.)
RE: Dezimaltrennzeichen "Komma" oder "Punkt" in SQL-Datenbank
NChar ist eine Zeichenkette (i.e. String). Das erklärt die Beschwerden deiner IT. Empfehlung: Datentyp der "Zahlenspalten" in der DB ändern, z.B. auf FLOAT oder REAL.
RE: Dezimaltrennzeichen "Komma" oder "Punkt" in SQL-Datenbank
Hallo Jens,
ja, das habe ich mir auch schon gedacht. Char steht ja eher selten für einen numerischen Datentyp...Das "N" davor könnte eine Numemr draus machen ;-)
Aber trotzdem bleibt ja die Frage: Die Umwandlung von double zu NChar wird doch von LabVIEW bzw. den LabVIEW-"Datenbankanbindungstreibern" übernommen, oder? Habe ich keine Möglichkeit, das Dezimaltrennzeichen vorzugeben?
Danke für den Link! Das Inhaltsverzeichnis sieht schon mal sehr gut aus, die entsprechenden Kapitel werde ich bei Gelegenheit durcharbeiten.