globe: (MSSQL9.0) Syntax-Fehler in Query

n'abend,

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.

Query:

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

Fehlermeldung lautet:
Falsche Syntax in der Nähe von 'SOME THINGS$Fixed Asset'. (severity 15)

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

Kann mich mal bitte kurz jemand aufklären was es mit dem $ auf sich hat und wie diese Query korrekterweise lauten sollte?

weiterhin schönen abend...

--
#selfhtml hat ein Forum?
sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|
  1. Hello,

    Ich habe eine MSSQL-Query gegeben bekommen, die ich mittels PHP auf den >> ~~~sql

    SELECT

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

    und du bist sicher, dass PHP da nicht irgendwas hätte befüllen sollen?  
      
    MfG  
    Rouven  
    
    -- 
    \-------------------  
    sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& ([SelfCode](http://selfspezial.atomic-eggs.com/scode/selfcode.php?encodieren))  
      
    Wenn du die Nadel im Heuhaufen nicht findest, zünde den Heuhaufen an.
    
    1. n'abend,

      und du bist sicher, dass PHP da nicht irgendwas hätte befüllen sollen?

      hehe... nein, das ist definitiv keine PHP Variable. Zumal der "Tabellenname" ja auch exakt so im INFORMATION_SCHEMA steht...

      weiterhin schönen abend...

      --
      #selfhtml hat ein Forum?
      sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|
  2. Hi globe!

    Versuch mal

    SELECT  
           A.No_ As Nummer,  
           A.Description As Beschreibung  
      FROM [SOME THING$Fixed Asset] A
    

    Das funktioniert zumindest mit MSSQL-Server 2005.

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
    1. n'abend,

      SELECT

      A.No_ As Nummer,
             A.Description As Beschreibung
        FROM [SOME THING$Fixed Asset] A

        
      »Ungültiger Objektname 'SOME THINGS$Fixed Asset'. (severity 16)«  
        
      weiterhin schönen abend...
      
      -- 
      #selfhtml hat ein Forum?  
        
      sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|
      
  3. 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
    
    1. n'abend,

      es ist eine verflixt gute Idee, das Original-Statement zu posten und nicht irgendetwas völlig anderes.

      »if i want sarcasm, mr. bond, i'll talk to my kids.«

      Ne, im Ernst, "SOME THING(S)" ist natürlich frei erfunden. Ich kann schlecht den eigentlichen Namen preisgeben, wenn das dummerweise der Firmenname ist. Würden die sich mal googlen™, wär das eher nicht so toll.

      Der letzte Versuch läuft zwischenzeitlich übrigens. Offenbar haben mir die Helden der IT zwar einen Benutzer geschenkt und eine Query geliefert, aber offenbar vergessen dem Benutzer einzuräumen die nötige Tabelle auslesen zu dürfen. In dem Fall ist die Fehlermeldung "Ungültiger Objektname" aber auch mal sehr... zielführend.

      Danke an die beteiligten Helferlein.

      weiterhin schönen abend...

      --
      #selfhtml hat ein Forum?
      sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|