Nicht verwenden können, LONG-Datentyp
Ich versuche etwas ältere SQL 2005-code zu arbeiten, die auf SQL 2012 Express. Aber immer, wenn ich die compatibility_level
zu 90 ich Fehler, wenn ich versuche, mit älteren Daten-Typen. In der Theorie der folgende code sollte funktionieren:
USE wsus_results
GO
ALTER DATABASE wsus_results
SET compatibility_level = 90
GO
CREATE TABLE ScTable (
TblName VARCHAR(255) NULL,
TblType VARCHAR(255) NULL,
FieldCnt INTEGER NULL,
RecordCnt LONG NULL,
Description LONGVARCHAR NULL,
TblId AUTOINCREMENT PRIMARY KEY)
GO
Aber, bekomme ich die folgende Fehlermeldung:
Msg 2715, Ebene 16, Status 6, Zeile 2-Spalte, ein parameter oder eine variable #4:
Kann nicht finden, Datentyp LONG.
Ich bin sicher, es gibt Sie einfach etwas fehlt mir, und ich brauche nur einen Schubs in die richtige Richtung. Dies ist nicht eine Erlaubnis und soweit ich das beurteilen kann, der SET compatibility_level = 90
führt problemlos ohne Fehler. Trotzdem bekomme ich eine Fehlermeldung, wenn mit LONG
.
InformationsquelleAutor Chad Harrison | 2013-07-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
LONG
ist keine gültige Daten geben Sie in einer beliebigen version von SQL Server. Und ändern Kompatibilitätsgrad wird keinen Einfluss auf Ihre Fähigkeit zu verwenden, um alte oder neue Datentypen. Dies betrifft nur die Art und Weise bestimmte Konstrukte analysiert werden.Vielleicht meintest du
DECIMAL
oderBIGINT
.Und zuvorkommen weitere Fragen:
LONGVARCHAR
undAUTOINCREMENT
sind nicht gültig Datentypen (überprüfen Sie die Dokumentation, anstatt zu raten). Wo hast du das script, und wer es vorgeschlagen, sollte in den SQL-Server? Ich glaube, Sie haben können, wurde pranked. Versuchen Sie dies:Nebenbei bemerkt, ist jede andere Spalte in der Tabelle wirklich null-Werte zulässt? Hat deine Tabelle den Namen wirklich brauchen ein suffix
Table
? Was bedeutetSc
bedeuten? Warum eigentlich nicht, rufen Sie die Tabelle, was es darstellt (wieSocialCows
oderScientificCholesterol
) statt Verschleierung der Namen und das hinzufügen einer bedeutungslosen suffix nur entstehen, weil mehr eingeben?LONG
? DieCREATE TABLE
Anweisung gearbeitet, irgendwo unverändert. Vergib mir und mein Fehler, aber dieser code landete in meinem Schoß, und ich habe nicht zu Durcheinander mit SQL für ein paar Jahre. Ich denke dieses war eigentlich für und.mdb
- Datei.sieht aus wie es gewesen sein könnte, für den Zugang, aber sicherlich nicht für SQL Server.
InformationsquelleAutor Aaron Bertrand