Vinzenz Mai: (MSSQL9.0) Syntax-Fehler in Query

Beitrag lesen

Hallo globe,

Ich habe eine MSSQL-Query gegeben bekommen, die ich mittels PHP auf den SQL Server 2005 9.0 schiessen soll. Mit MSSQL habe ich - augenscheinlich - keine größeren Erfahrungen.

es ist eine verflixt gute Idee, das Original-Statement zu posten und nicht irgendetwas völlig anderes. Zumindest eines, mit dem sich der Fehler reproduzieren läßt:

SELECT

"SOME THING$Fixed Asset".No_ As Nummer,
       "SOME THING$Fixed Asset".Description As Beschreibung
  FROM "SOME THING$Fixed Asset"

  
kannst Du \*nicht\* verwendet haben, weil Da kein THINGS$ vorkommt, sondern nur THING$  
  
Das passt schon mal nicht - und ist daher wenig hilfreich:  
  

> Fehlermeldung lautet:  
> Falsche Syntax in der Nähe von 'SOME THINGS$Fixed Asset'. (severity 15)  
  
gibts nicht, kann nicht auftreten, ist daher für Dein Problem irrelevant.  
  
BTW, warum verwendest Du keinen vernünftigen Aliasnamen für Deine Tabelle?  
  

> Infos:  
> Microsoft SQL Server 2005 9.0  
> Zugriff über PHP5.2 mit mssql\_query()  
>   
> "SOME THING$Fixed Asset" existiert laut Rückfrage in INFORMATION\_SCHEMA.TABLES:  
> TABLE\_SCHEMA: dbo  
> TABLE\_TYPE: BASE TABLE  
> TABLE\_NAME: SOME THING$Fixed Asset  
  
Kein Wunder, dass er SOME THINGS$Fixed Asset anmeckert. Gar kein Wunder.  
  

> Kann mich mal bitte kurz jemand aufklären was es mit dem $ auf sich hat und wie diese Query korrekterweise lauten sollte?  
  
keine. $ ist ein erlaubtes nachfolgendes Zeichen.  
  
    tabelle$  
  
ist in Transact-SQL ein den Regeln für reguläre Bezeichner zulässiger Name.  
Das Sonderzeichen, das Begrenzungszeichen ("" oder []) erfordert, ist das Leerzeichen.  
  
Grundsätzlich läßt sich feststellen: Du machst etwas falsch. Deine Informationen sind nicht ausreichend, um Dir Deinen Fehler aufzeigen zu können. Falls Deine Tabelle so heißt wie angegeben, führt Dein Statement nicht zu einer Fehlermeldung.  
  
  
Freundliche Grüße  
  
Vinzenz