Mit Microsoft anmelden
Melden Sie sich an, oder erstellen Sie ein Konto.
Hallo,
Wählen Sie ein anderes Konto aus.
Sie haben mehrere Konten.
Wählen Sie das Konto aus, mit dem Sie sich anmelden möchten.

Problembeschreibung

Beim Ausführen von Microsoft SQL Server Integration Services (SSIS) Paket Fehler aufgrund eines Parameters Cast und sinngemäß die folgende Fehlermeldung angezeigt:

Code: 0xC0202009
Quelle: Datenflusstask
Beschreibung: SSIS-Fehlercode DTS_E_OLEDBERROR. Ein OLE DB-Fehler aufgetreten. Fehlercode: 0x80040E21.
Ein OLE DB-Datensatz ist verfügbar.  Quelle: "Microsoft SQL Server Native Client 11.0"
HRESULT: 0x80040E21 Beschreibung: "Zeichenwert für Umwandlungsspezifikation ist ungültig".


Für eine Komponente OLE DB-Datenquelle bei einem Datenflusstask, die eine parametrisierte Abfrage enthält kann dieses Problem auftreten. Sie haben z. B. die folgende Abfrage:SELECT mydate FROM dbo.myTable
WHERE mydate >= convert (char, dateadd(year,-1,cast( ? as datetime)))
Hinweis Dieses Problem tritt nur auf, wenn Sie versuchen, eine OLE DB-Datenquelle Komponente mit Parametern in der Abfragezeichenfolge. Parametermarker "?" ist ein SSIS-Benutzer Variable parameter1 zugeordnet, die als SSIS-Zeichenfolge "20080122" definiert Dieses Problem tritt für Pakete im Microsoft SQL Server 2005 oder höher.

Ursache

Das Problem tritt aufgrund der verhaltensänderung wie OLE DB Parameter behandelt. Ersatz von set Fmtonly gibt SQL Server 2012 die neue gespeicherte Prozedur Sp_describe_undeclared_parametersein anderes Ergebnis für den Parametertyp. Diese Änderung ist.

In der Abfrage wird im Abschnitt "Symptome" ist das ursprüngliche Verhalten beschreiben "?" zu "char(8)-Wert." Dagegen die neue Sp_describe_undeclared_parameters , "?" "Datetime" ist Daher gibt die interne Umwandlung Zeichenfolge Datetime OLE DB-Provider erfolgt die Fehlermeldung.

Problemlösung

Um dieses Problem zu beheben, Schreiben Sie die Abfrage um eine weitere explizite Umwandlung in den ursprünglichen Datentyp hinzufügen. Dann gibt Sp_describe_undeclared_parameters die richtige, erwartet. Aktualisieren Sie zum Beheben dieses Problems in die Beispielabfrage, die im Abschnitt "Symptome" beschriebene Abfrage wie folgt:SELECT mydate FROM dbo.myTable
WHERE mydate >= convert(char ,dateadd(year,-1, cast( cast( ? as char(8)) as datetime)))

Status

Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Eigenschaften“ aufgeführt sind.

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern

Schulungen erkunden >

Neue Funktionen als Erster erhalten

Microsoft Insider beitreten >

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Sprachqualität?
Was hat Ihre Erfahrung beeinflusst?

Vielen Dank für Ihr Feedback!

×