INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Variant aus Datenbank --> Datentyp



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!

14.05.2014, 09:05
Beitrag #1

Anna1988 Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Mar 2012

2012 & 2014 teilweise 7.1
2008
EN


Deutschland
Variant aus Datenbank --> Datentyp
Hallo,

ich habe folgendes Problem. Ich schicke Daten über ein Tool an die Datenbank, da ich nicht weiß welcher Datentyp das ist schicke ich sie als Variant an die Datenbank.
Ich will die Daten jetzt aber wieder auslesen, und das geht auch ohne Probleme, leider kann ich jetzt nicht mehr herausfinden welchen Datentyp die Daten haben.

Ich muss wissen was es ist (String, Double, Waveform, Audiosignal) es soll total egal sein was ich in dem Variant habe, ich muss nur nachher wieder erfahren können was es war. Der Datenbanktyp der Spalte hilft mir auch nicht, der steht auf Binär aber das kann ja alles sein.

Ich bekomme das einfach nicht raus, VariantType.lvlib:GetTypeInfo.vi habe ich schon probiert, da kommt aber immer 'External Data' raus.

Ich hoffe das mir jemand helfen kann. Bei Fragen dazu einfach nochmal nachfragen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.05.2014, 12:09 (Dieser Beitrag wurde zuletzt bearbeitet: 14.05.2014 12:10 von LogMAN.)
Beitrag #2

LogMAN Offline
LVF-Neueinsteiger


Beiträge: 5
Registriert seit: Apr 2014

2011 SP1
2008
EN


Deutschland
RE: Variant aus Datenbank --> Datentyp
Daten binär, ohne Identifikationsmerkmal in eine Datenbank abzulegen klingt nach einem schlechten Plan... Du solltest vielleicht das Konzept nochmal überdenken.

Wie auch immer, die OpenG LabVIEW Data Palette (installierbar über VI Package Manager) bringt einige Funktionen mit, die dir hierbei helfen könnten. Zum Beispiel kann die Funktion Get TDEnum from Data den Datentyp zurück liefern (enum), wobei alle Basistypen differenziert werden. Etwas komplizierter ist das Ganze mit Typen wie Clustern und Arrays. Cluster werden pauschal als Cluster identifiziert, genauso wie Arrays als Array, unabhängig vom enthaltenen Datentyp...
Alternativ oder zusätzlich kannst du mit Variant Attributen arbeiten.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.05.2014, 12:29
Beitrag #3

Anna1988 Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Mar 2012

2012 & 2014 teilweise 7.1
2008
EN


Deutschland
RE: Variant aus Datenbank --> Datentyp

Akzeptierte Lösung

Hallo,

ja ich habe mir das auch nochmal überlegt, habe nun einfach den Datentyp abgespeichert um ihn dann nachher einfach wieder auszulesen.

Ich dachte es wäre irgendwie möglich aus dem Variant den Datentyp zu lesen, aber das ist ja leider nicht möglich.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.05.2014, 11:07
Beitrag #4

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: Variant aus Datenbank --> Datentyp
(14.05.2014 12:29 )Anna1988 schrieb:  Hallo,

ja ich habe mir das auch nochmal überlegt, habe nun einfach den Datentyp abgespeichert um ihn dann nachher einfach wieder auszulesen.

Ich dachte es wäre irgendwie möglich aus dem Variant den Datentyp zu lesen, aber das ist ja leider nicht möglich.

Ist es eigentlich schon mit den von LogMan erwähnten Tools, oder in neueren LabVIEW Versionen alternativ den Tools in vi.lib/utility/GetType.llb.

Nur hilft Dir das eventuel noch nicht so viel, da beim Abspeichern der Daten eine implizite Konvertierung Deiner Daten stattfindet die abhängig ist von dem Datentyp in der Datenbank für die entsprechende Kolonne und das kann etwas ganz anderes sein dann was Du ursprünglich in die Variante gestopft hast. Beim Zurücklesen konvertiert LabVIEW die Daten aus der Datenbank in den am direktesten kompatiblen Datentyp und kann es dann sein dass Du zwar eine Fliesskommazahl in die Datenbank geschrieben hast, aber weil die Datenbankkolonne als String definiert ist, kommt halt dann auch ein LabVIEW String zurück.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  einen variant data LOOP galilio 2 5.022 09.09.2016 12:12
Letzter Beitrag: galilio
  Falscher Datentyp? E-techniker 6 6.097 16.05.2014 12:36
Letzter Beitrag: GerdW
  Postgres SQL datentyp "money" kann nicht ausgelesen werden Diplomand 1 3.647 19.02.2013 12:47
Letzter Beitrag: Y-P
  Datentyp eines Wertes aus der Datenbank abfragen mrstrom 1 3.232 10.11.2011 08:08
Letzter Beitrag: unicorn
  Variant-Daten in TXT-File speichern und wieder laden. thomhof0 3 7.186 04.10.2011 08:36
Letzter Beitrag: GerdW
  ADO Variant to Timestamp olum 1 4.639 23.08.2011 10:12
Letzter Beitrag: Y-P

Gehe zu: