LabVIEWForum.de
Dezimaltrennzeichen "Komma" oder "Punkt" in SQL-Datenbank - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Dezimaltrennzeichen "Komma" oder "Punkt" in SQL-Datenbank (/Thread-Dezimaltrennzeichen-Komma-oder-Punkt-in-SQL-Datenbank)



Dezimaltrennzeichen "Komma" oder "Punkt" in SQL-Datenbank - Soean - 04.12.2014 08:52

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...

Besten Gruß,

Soean


RE: Dezimaltrennzeichen "Komma" oder "Punkt" in SQL-Datenbank - jg - 04.12.2014 10:06

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.


RE: Dezimaltrennzeichen "Komma" oder "Punkt" in SQL-Datenbank - Soean - 04.12.2014 10:35

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:
[attachment=51534]
Ich war der Meinung, dass die erst mit der Installation des DSC-Moduls dazu gekommen sind. Oder welches Database-Toolkit meintest du?

Gruß,

Soean


RE: Dezimaltrennzeichen "Komma" oder "Punkt" in SQL-Datenbank - jg - 04.12.2014 11:11

Das ist das normale Database Connectivity Toolkit, hat eigentlich nichts mit dem DSC Toolkit zu tun und ist einzeln installierbar.

Hier ist was mit Database im DSC:
[attachment=51536]

EDIT: Zeig mal deinen "Schreib"-Code, vielleicht wird dann klarer, was deine IT meint.

Gruß, Jens


RE: Dezimaltrennzeichen "Komma" oder "Punkt" in SQL-Datenbank - Soean - 04.12.2014 11:42

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!


RE: Dezimaltrennzeichen "Komma" oder "Punkt" in SQL-Datenbank - jg - 04.12.2014 13:50

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.

Gruß, Jens

P.S.: Eine Einführung in SQL


RE: Dezimaltrennzeichen "Komma" oder "Punkt" in SQL-Datenbank - Soean - 08.12.2014 09:42

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.


Guten Start in die Woche!


RE: Dezimaltrennzeichen "Komma" oder "Punkt" in SQL-Datenbank - jg - 08.12.2014 09:49

Nein, das n in nchar ist kein Hinweis auf eine "Number". Erster Treffer bei Google.

Gruß, Jens