Announcement

Collapse
No announcement yet.

Probleme mit Schlüsselwörtern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Probleme mit Schlüsselwörtern

    Hallo zusammen,

    leider habe im Forum keine Lösung gefunden und erstelle deshalb ein neues Thema.

    Ich arbeite mit AllFusion EWin Data Modeler 7.1.2.1303 sowie MS SQL Server 2005 9.00.2047.00. In Erwin habe ich u. a. ein Table: MUser mit den Culomns: ID (uniqueidentifier, not null), MDate (datetime, null) sowie User (varchar, null) erstellt.

    In Erwin: Über Tools > Forwarad Engineer > Schema Generation > Preview... wird eine Vorschau der SQL Anweisungen generiert (ich habe einfach die vorgegebenen Standardeinstellungen verwendet).

    Diese Anweisungen kopiere ich komplett in die Zwischenablage, erstelle eine neue Datenbank in SQL Server 2005, klicke auf Neue Abfrage (mit der DB bin ich verbunden), füge die Anweisungen ein und führe sie aus.

    Folgende Fehlermeldung erscheint bei den Meldungen: Meldung...Zeile...

    Incorrect syntax near the keyword 'User'

    Ich vermute es liegt daran, dass 'User' ein reserviertes Schlüsselwort ist, denn wenn ich es auskommentiere [] dann läuft das Statement einwandfrei durch.

    Da ich in Erwin schon sehr viele Tables und viele Culoms erstellt habe, die auch weitere Schlüsselwörter, wie z. B. 'Order' enthalten und auch Fehler verursachen, ist meine Frage, ob man in Erwin diverse Einstellungen vornehmen kann, sodass das generierte Schema keine reservierten Schlüsselwörter enthält?
    ...oder muss ich alle in SQL reservierten Schlüsselwörter per hand umbenennen?

    Wie würdet Ihr das 'anpacken'?

    Ich bin für alle Lösungsansätze sehr dankbar und würde mich über Antworten freuen.

    Ciao

  • #2
    Hallo,

    wenn reservierte Wörter als Bezeichner verwendet werden, müssen sie "normalerweise" in doppelte Hochkomma " gesetzt werden. Allerdings gibt es Unterschiede zwischen den Datenbanken, bei MySQL ist es das Apostroph `, bei Access eckige Klammern [] und mglws. hat der MS SQL-Server auch eine Eigenheit.

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Sind beim SQL Server in der Tat die eckigen Klammern [], als [User] verwenden
      Gibt es sogar eine Funktion für:

      select quotename('User')

      Und User ist ein reserviertes Wort:

      select User

      liefert den aktuellen Datenbankbenutzer Namen zurück.
      Olaf Helper

      <Blog> <Xing>
      * cogito ergo sum * errare humanum est * quote erat demonstrandum *
      Wenn ich denke, ist das ein Fehler und das beweise ich täglich

      Comment


      • #4
        Hi,

        danke für die schnelle Antwort und Eure Hilfe.

        Kann das "in eckige Klammern setzen" der Schlüsselwörter, beim Generieren aus ERwin Data Modeler automatisch erfolgen oder muss ich alle Attribute, die auch Schlüsselwörter sind selbst einklammern?
        Danke im Voraus.

        Ciao

        Comment


        • #5
          Hallo,

          ...oder muss ich alle Attribute, die auch Schlüsselwörter sind selbst einklammern...
          viele der Microsoft-Tools für den MS SQL Server klammern automatisch alle (!) Namen ein, um derartigen Problemen aus dem Weg zu gehen.

          Allerdings ist es in jedem Fall besser, die reservierten Namen nicht für eigene Spalten- bzw. Tabellennamen zu verwenden. Die Klammer ist für die Fälle vorgesehen, wo eine "alte" Datenbank nach dem Upgrade auf eine neue SQL Server-Version dort auf neue reservierte Namen trifft.

          Comment


          • #6
            Hi,

            alles klar. Danke für Euro Hilfe.

            Ciao
            Flo

            Comment

            Working...
            X