Laden...

Mit OleDBCommand NVARCHAR(50) Spalte in MSSQL erzeugen

Erstellt von T-Man vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.223 Views
T
T-Man Themenstarter:in
210 Beiträge seit 2006
vor 16 Jahren
Mit OleDBCommand NVARCHAR(50) Spalte in MSSQL erzeugen

verwendetes Datenbanksystem: MSSQL Express 2005

Moin!

Ich habe folgendes Problem: Wenn ich mit einem OleDbCommand eine Tabelle erzeuge, die eine Spalte des Typs NVARCHAR(50) enthält, bekomme ich eine OleDbException mit der Meldung, dass der NVARCHAR(50)-Datentyp nicht gefunden werden kann.

Mein Sql-String sieht in etwa wie folgt aus:

CREATE TABLE [meinetabelle] (spaltea nvarchar(50), spalteb int)

Ich bekomme die selbe Fehlermeldung, wenn ich einer bestehenden Tabelle eine Spalte hinzufügen möchte.

ALTER TABLE [meinetabelle] ADD [spaltec] nvarchar(50)

Mit Access funzt es wunderbar. Auch mit OdbcCommand und MySql klappt es wunderbar.

Hat jemand 'ne Idee?
Wenn ich die Befehle direkt im Sql Server Managment Studio absetze funktioniert es wunderbar.

Vielen Dank schon mal.
T-Man

J
3.331 Beiträge seit 2006
vor 16 Jahren

Bei der OleDbType-Enumeration gibt es keinen Datentyp NVarChar. (Ich bezweifle deshalb, ob das mit OleDbCommand und Access wirklich funktioniert.)

Aber warum benutzt Du für MS-SQL nicht SqlCommand? Jürgen

T
T-Man Themenstarter:in
210 Beiträge seit 2006
vor 16 Jahren

Autsch!!!

Ich habe es.

Mein Befehl war

CREATE TABLE [mytable] ([spaltea] [nvarchar(50)], [spalteb] [int])

Das Problem waren die (unnötigen) eckigen Klammer um den Typ. Allerdings nur bei [nvarchar(50)], nicht bei [int].
Wieso auch immer stören die Eckigen klammer um int nicht, während sie um nvarchar() stören. Muss man nicht verstehen...

Gruß
T-Man

3.825 Beiträge seit 2006
vor 16 Jahren

Hallo T-Man,

[nvarchar] (50)

geht.

Benutze bitte den nativen SQL-Treiber.

ODBC und OleDB sind langsam, umständlich und veraltet.

Siehe auch http://www.seven-c.de/files/DatenbankenHowTo.htm.

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3