Hallo,
ich verwende das NI-DB-Toolkit, um aktuell unter
auf eine MS-SQL-2008-Datenbank zuzugreifen.
Jetzt habe ich einige Stored-Procedures erstellt, die neben Übergabe-Werten auch "OUTPUT"-Werte haben, also z.B. etwas in der folgenden Art:
Code:
CREATE PROCEDURE [dbo].[test]
@id int,
@Info VARCHAR (2000) OUTPUT,
@Fehler VARCHAR(255) OUTPUT
Der Aufruf der Prozedur klappt, so wie hier beschrieben:
http://digital.ni.com/public.nsf/websear...enDocument
http://digital.ni.com/public.nsf/allkb/0...00006326C4
Jetzt zu den seltsamen Phänomen, vielleicht kann es mir jemand erklären.
1) Die Rückgabewerte @Info oder @Fehler sind in LabVIEW auf exakt 23 Zeichen abgeschnitten, auch wenn innerhalb der SP ein längerer String erstellt wird. Übergabedefinition z.B. so:
oder alternativ auch als "OUTPUT" definiert, das macht keinen Unterschied. Innerhalb des MS SQL Server Management Studio habe ich dieses Problem nicht, da kann der String die 2000 Zeichen lang sein.
2) Dass der Übergabewert @id in der Datenbank als "int" definiert ist, interessiert LabVIEW recht wenig. Wenn ich als Datentyp Long(I32) auswähle, bekomme ich einen Fehler, laut Fehlercluster
Possible reason(s): ADO Error: 0x80020009. Definiere ich @id in LabVIEW als String, geht alles in Ordnung.
Kennt jemand diese Effekte? Mache ich etwas falsch? Kommen diese Phänomen aus LabVIEW oder aus ADODB?
Viele Grüße,
Jens