none
SQL Management Studio 18 hat Probleme mit der Rolle con RRS feed

  • Frage

  • Hallo,

    es geht um das neue SQL Management Studio Version 18. Dort verwende ich häufiger die Funktion "Generate Skripts". Und zwar will ich für jedes Datenbankobjekt ein eigenes Skript haben.

    Das geht aber nicht, wenn es eine Rolle mit dem Namen con gibt.

    Also - Beispiel leere Datenbank nur mit der Rolle con.

    Nun versuche ich Skripte zu generieren mit:

    Ich tue das im Verzeichnis C:\Temp\DB und gebe "Single file per object" an:

    Das führt zum Fehler und zwar bei der Rolle con:

    Ob auch andere Objekte mit dem Namen con zum Fehler führen kann ich nicht sagen, habe ich nicht ausprobiert. Ich habe das neueste Studio 18.2.

    Es funktiniert, wenn man nur ein Skript erzeugt.

    Für alle anderen Objekte lassen sich mit "Single file per object" prima Skripte erzeugen, wenn man die Rolle con umbenennt z.B. in kon.

    Hat jemand eine Idee?
    Freitag, 23. August 2019 12:07

Antworten

Alle Antworten

  • Hallo Willi,

    schätze der zu erzeugende Dateiname ist das reale Problem.
    siehe: https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file

    Do not use the following reserved names for the name of a file:

    CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9. 

    kommt sogar an erster Stelle.

    HTH

    Grüße Alexander

    • Als Antwort markiert Willi Spies Montag, 26. August 2019 09:50
    Freitag, 23. August 2019 12:41
  • Danke Alexander,

    ich fürchte das wird es sein, was auch immer die sich dabei denken.

    Wenn es die Dateiendung wäre, würde ich es ja verstehen.

    Grüße

    Willi

    Montag, 26. August 2019 09:53
  • Nun ja, wenn man in C++ z.B. den Namen "con" beim Open angibt, erhält man Zugriff auf die Console.
    So sieht es auch mit den anderen alten "Hardwareanmschlüssen" aus.
    PRN = Printerport
    COMx = CommunicationPort (meist V.24)
    LPTx = Lineprinter (Parallel-Port)
    con = Console

    Montag, 26. August 2019 10:55