Forums Neueste Beiträge
 

SSIS - OLE DB-Befehl mit UNION

24/01/2008 - 00:31 von Heiko Schmitz | Report spam
Hallo Zusammen, vielleicht weiß ja jemand Rat.

Ich möchte Zeilen einer Tabelle aktualisieren, dafür wollte ich ein
OLE-DBBefehl Objekt verwenden.
In meiner Rohtabelle (Excel) steht Name und Wert in einer Tabelle, in
der Datenbank in zwei verbundenen Tabellen.

Dafür habe ich das folgende SQLCommand eingegeben:

UPDATE MeinPreis
SET PreisTag = ?
FROM MeinPreis INNER JOIN
MeinTyp ON MeinPreis.FK_MeinTyp MeinTyp.ID_MeinTyp
WHERE (MeinTyp.Beschreibung =?)

Beschreibung ist ein String.

Bei der Aktualisierung erscheint immer der Fehler das der mehrteilige
Bezeichner MeinTyp.Beschreibung nicht gebunden werden kann. Wenn ich
das ? in der Where Klausel weglasse und einen festen Wert eingebe
funktioniert es.

Aber warum will er WHERE nicht verwenden?

Vielen Dank
Heiko Schmitz
 

Lesen sie die antworten

#1 Willfried Faerber
24/01/2008 - 07:24 | Warnen spam
Sehr geehrter Herr Schmitz,
ich gehe davon aus, dass Ihr Befehl syntaktisch korrekt ist. Bitte testen
Sie das dadurch, dass Sie die Fragezeichen mit festen Werten belegen und
dann testen.
Wenn alles in Ordnung ist, dann sind Sie in das Problemfeld
Parameterersetzung eingetaucht.
Die Parameterersetzung funktioniert nicht in allen Fàllen. Um das Problem zu
umgehen, können Sie über die Expression den SQL Befehl dynamisch
zusammenbauen. Bei Strings müssen Sie dann allerdings den Wert in einfache
Anführungsstriche schreiben.



Mit freundlichen Grüßen

Willfried Fàrber

MVP SQL Server
https://mvp.support.microsoft.com/p...ed.Faerber

Asamstrasse 6
81541 München

http://www.wfaerber.de
http://www.sqlis.de


"Heiko Schmitz" schrieb im Newsbeitrag
news:
Hallo Zusammen, vielleicht weiß ja jemand Rat.

Ich möchte Zeilen einer Tabelle aktualisieren, dafür wollte ich ein
OLE-DBBefehl Objekt verwenden.
In meiner Rohtabelle (Excel) steht Name und Wert in einer Tabelle, in
der Datenbank in zwei verbundenen Tabellen.

Dafür habe ich das folgende SQLCommand eingegeben:

UPDATE MeinPreis
SET PreisTag = ?
FROM MeinPreis INNER JOIN
MeinTyp ON MeinPreis.FK_MeinTyp MeinTyp.ID_MeinTyp
WHERE (MeinTyp.Beschreibung =?)

Beschreibung ist ein String.

Bei der Aktualisierung erscheint immer der Fehler das der mehrteilige
Bezeichner MeinTyp.Beschreibung nicht gebunden werden kann. Wenn ich
das ? in der Where Klausel weglasse und einen festen Wert eingebe
funktioniert es.

Aber warum will er WHERE nicht verwenden?

Vielen Dank
Heiko Schmitz

Ähnliche fragen