1) Ich habe SVNR als INT definiert, doch ich weiß nicht wie ich ihn dann in die Abfrage einbinden kann?
2) Sorry tut mir leid, hab ich leider immer überlesen
Im Error-Cluster steht folgendes: Exception occured in Microsoft OLE DB Provider for ODBC Drivers: [MySQL][ODBC 5.1 Driver][mysqld-5.5.15]Out of range value for column 'SVNR' at row 1 in ADOTool_ADO API.vi->ADOTool_Insert Data.vi->ADO Mysql.vi
3) Ja da geht es ganz normal
Mfg Noobie
![Big Grin Big Grin](images/smilies/biggrin.gif)
(10.11.2011 17:35 )Noobie schrieb: [ -> ]2) Sorry tut mir leid, hab ich leider immer überlesen
Im Error-Cluster steht folgendes: Exception occured in Microsoft OLE DB Provider for ODBC Drivers: [MySQL][ODBC 5.1 Driver][mysqld-5.5.15]Out of range value for column 'SVNR' at row 1 in ADOTool_ADO API.vi->ADOTool_Insert Data.vi->ADO Mysql.vi
Also bei der Spaltendefinition INT und der Fehlermeldung musst du eine sehr große Zahl reinschreiben.
Maskierung mit Anführungszeichen (") sollte egal sein, obwohl bei MySQL eher die einfachen Striche ' üblich sind.
Also eher etwas in der Art
INSERT INTO `patient` VALUE ('1', 'Hans', 'Meier')
Poste doch mal einen Beispiel INSERT-String, den du per LabVIEW zusammenstellst.
Und einen Screenshot der patient-Tabellendefinition (alternativ diese Workbench-Definitions-Datei).
Und hast du jetzt nach jedem VI mal einen Error-Cluster aufs FP gelegt? Tritt wirklich erst beim INSERT ein Error auf, nicht schon vorher?
Gruß, Jens
Ich habe eine große Zahl reingeschrieben und das doppelte Hochkomma durch ein einfaches ersetzt.
Insert String:
INSERT INTO patient VALUES ('2020100287', 'Hans', 'Meier')
Ja hab ich und der Fehler tritt erst beim INSERT auf.
Gruß Noobie
Ne hab einen LONG definiert.
weil sonst kann ich meine Zahlen nicht speichern, aber danke.
Wenn ich einen INSERT-Befehl in MySQL ausführe funktioniert es ja, deshalb kann das Problem eigentlich nur beim LabView-Programm oder bei der ODBC liegen.
Mfg Noobie
![Big Grin Big Grin](images/smilies/biggrin.gif)
Also meine MySQL-Installation kennt LONG nicht als Datentyp. Seltsam, dass das bei dir geht.
Beim INSERT-Befehl sehe ich jetzt auch keine Probleme mehr. 2020100287 sollte bei Datentyp INT auch noch keinen Überlauf erzeugen.
Gruß, Jens
Hi
also ich habe mir die Tabelle auf meinem server erstellt und es funktioniert ...
hier die Tabelle
Code:
CREATE TABLE IF NOT EXISTS `patient` (
`SVNR` int(11) NOT NULL,
`Vorname` text collate latin1_german1_ci NOT NULL,
`Nachname` text collate latin1_german1_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci;
--
-- Daten für Tabelle `patient`
--
INSERT INTO `patient` (`SVNR`, `Vorname`, `Nachname`) VALUES
(2020100287, 'Irgendwas', 'nochwas');
und dein zuletzt hochgeladenes Vi ...
funktionieren denn eigentlich kleinere Zahlen ?
hast du ein 64Bit System? da funktioniert glaube ich der ODBC connector nicht ... ob das immernoch so ist weis ich nicht ...
T
@T: Da die SVNR immer eine 10 stellige Zahl ist, ist ein INT11 zu klein.
Ja kleinere Zahlen funktionieren in LabView, jedoch speichert er sie in die MySQL-Tabelle nicht.
![Undecided Undecided](images/smilies/undecided.gif)
9 stellige Zahlen funktionieren, erst bei 10stelligen tritt das Problem auf.
@ Jens: Ja da ein LONG ein INT64 ist, ist dieser bei mir vorhanden.
mit einem normalen INT funktioniert bei mir der INSERT-Befehl mit einer 10-stelligen Zahl in MySql leider nicht, aber mit einem LONG bis zu einer gewissen Zahl schon.
Mfg Noobie
![Big Grin Big Grin](images/smilies/biggrin.gif)
Also laut MySQL-Hilfe-Seite lautet der Datentyp für 64bit-Integer BIGINT, nicht LONG.
Die Zahl in den Klammer bei z.B. INT(11) schränkt übrigens nicht den Datentyp ein, sondern nur die Anzeige (vgl. den Link von toaran aus Beitrag #14).
Gruß, Jens
P.S.: Welche Kombinationen/Versionen von MySQL hast du eigentlich installiert?
Ja aber da es bei mir keinen BIGINT gibt hab ich einen LONG genommen.
Ich hab MySQL Workbench 5.2.34 installiert
Mfg Noobie
![Big Grin Big Grin](images/smilies/biggrin.gif)