Sie erhalten eine Fehlermeldung, wenn Sie versuchen, eine SQL Server 2000-Tabelle mit einem Datengenerierungsplan in Visual Studio 2005 Team Edition for Database Professionals auffüllen: "System.Data.SqlClient.SqlError: Unzulässige implizite Konvertierung von Daten geben Maximum

Problembeschreibung

Wenn Sie versuchen, eine Microsoft SQL Server 2000-Tabelle mit einem Datengenerierungsplan in Microsoft Visual Studio 2005 Team Edition for Database Professionals füllen, erhalten Sie eine Fehlermeldung, die der folgenden ähnelt:
Tabelle Tabellenname : System.Data.SqlClient.SqlError: Unzulässige implizite Konvertierung von Datentyp Ntext Daten Typ Varchar, Tabelle 'Tabellenname', Spalte 'Spaltenname'. Verwenden Sie CONVERT-Funktion, um diese Abfrage auszuführen.
Hinweis Dieses Problem tritt beim Feld für eine Varchar oder Nvarchar auffüllen, mehr als 4000 Zeichen enthält.

Ursache

Dieses Problem tritt auf, weil der SqlClient-Anbieter Varchar oder Nvarchar -Datentyp Text oder Ntext -Datentyp konvertiert. Den Datentyp Text oder Ntext allerdings kann keine Varchar oder Nvarchar -Datentyp in SQL Server 2000 konvertieren.

Hinweis Microsoft SQL Server 2005 verwendet SqlClient-Anbieter varchar(max) bzw. nvarchar(max) Datentypen den Datentyp Text oder Ntext . Daher tritt dieses Problem nicht in SQL Server 2005.

PROBLEMUMGEHUNG

Um dieses Problem zu umgehen, unbedingt Varchar -Spalten in SQL Server 2000-Datenbank nicht mehr als 4000 Zeichen enthalten.

Status

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

Weitere Informationen

Schritte zum Reproduzieren des Problems

  1. Starten Sie Microsoft Visual Studio 2005.
  2. Klicken Sie im Menü Datei auf neu und klicken Sie dann auf Projekt.
  3. Erweitern Sie Datenbankprojekte, und klicken Sie dann auf Microsoft SQL Server.
  4. Klicken Sie auf SQL Server 2000und geben Sie Database1 in das Feld Name ein .
  5. Im Projektmappen-Explorer erweitern Sie Schemaobjekte, Maustaste Tabellenklicken Sie auf Hinzufügen, und klicken Sie dann auf Tabelle.
  6. Geben Sie im Feld Name MaxVarCharund klicken Sie dann auf Hinzufügen.
  7. Ersetzen Sie den Code in der Tabelle Dbo. MaxVarChar.table.sql-Datei mit dem folgenden Codebeispiel.
    CREATE TABLE [dbo].[MaxVarChar](
    [VarChar_maxLength] [varchar] (8000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL
    ) ON [PRIMARY]
  8. Im Menü Daten auf T-SQL-Editor, und klicken Sie dann auf SQL ausführen.
  9. Klicken Sie im Dialogfeld mit Datenbank verbinden klicken Sie auf die Verbindung in der Liste und klicken Sie dann auf OK.
  10. Im Projektmappen-Explorer mit der rechten Maustaste Datengenerierungspläne, zeigen Sie auf Hinzufügenund klicken Datengenerierungsplan.
  11. Geben Sie im Feld Name DataGenerationPlan1.dgenund klicken Sie dann auf Hinzufügen.
  12. Klicken Sie auf die Dbo. MaxVarChar das Kontrollkästchen.
  13. Im Menü Daten auf Daten-Generatorund klicken Sie dann auf Daten generieren.

    Hinweis Klicken Sie auf Ja , wenn die möchten Sie den Inhalt der ausgewählten Tabellen vor dem Einfügen neuer Zeilen löschen? Dialogfeld.
  14. Klicken Sie im Dialogfeld mit Datenbank verbinden klicken Sie auf die Verbindung in der Liste und klicken Sie dann auf OK.

    Sie erhalten die Fehlermeldung, die im Abschnitt "Symptome" genannt wird.
Eigenschaften

Artikelnummer: 928965 – Letzte Überarbeitung: 14.01.2017 – Revision: 2

Feedback