Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Abfrage mit Dollarzeichen und Leerzeichen im Tabellen und Spaltennamen

Frage Entwicklung Datenbanken

Mitglied: kugelschreiber

kugelschreiber (Level 1) - Jetzt verbinden

12.01.2009, aktualisiert 14:46 Uhr, 6734 Aufrufe, 4 Kommentare

Hallo Ihr Lieben,

ich habe folgend schwere Aufgabe.
Ich muss aus einer bestehenden Datanbank (MS-SQL) mit PHP Daten auslesen.
Dies klingt nicht schwer, wenn die Struktur und Benennung der Tabellen und Spaltennamen ordnungsgemäß und mit Struktur durchgeführt wurden wäre.
Diese ist nämlich nicht zu ändern

Mein Problem ist also folgendes:

Aus der Datenbank brauche ich momentan nur 4 Spalten aus 3 Tabellen auslesen. Diese lauten: (abgeschrieben aus MS Visual Studio)

dbo.test$GEN_SubCategory.ParentCode
dbo.test$GEN_SubCategory.Sequence No_
dbo.test$Vendor Value.Code

Wie Ihr sicherlich schon gesehen habt, befindet sich im Tabellennamen jeweils ein Dollarzeichen, welches ich escapen kann.
Was mache ich aber mit dem Leerzeichen in der dritten Tabelle bei "Vendor Value"

Meine momentane Abfrage lautet:
01.
$SQL
02.
"SELECT TOP 100 
03.
  dbo.test\$GEN_SubCategory.ParentCode, 
04.
  dbo.test\$GEN_SubCategory.Sequence No_, 
05.
  dbo.test\$Vendor Value.Vendor 
06.
FROM 
07.
  dbo.test\$GEN_SubCategory
08.
  dbo.test\$Vendor Value";
Leider schlägt diese fehl. Nun dacht ich mir es mit:
[dbo.test\$Vendor Value].Vendor
zu versuchen. Dies scheitert aber auch.

Wer kann mir helfen?

Danke Gruß Kuli
Mitglied: godlie
12.01.2009 um 16:24 Uhr
Hallo du könntest ja mal versuchen die "Feldbezeichnungen" unter `` zu setzen.

Also z.B.:
01.
$SQL =  
02.
"SELECT TOP 100  
03.
 `dbo.test\$GEN_SubCategory.ParentCode`, 
04.
..... 
05.
 `dbo.test\$Vendor Value.Vendor` 
06.
FROM 
07.
.....
Bitte warten ..
Mitglied: kugelschreiber
13.01.2009 um 09:21 Uhr
Hallo godie,

vielen Dank für Deine Hilfe aber auch diese Abfrage schlug fehl.
Ich probierte ebenfalls schon:
01.
$SQL =  
02.
"SELECT TOP 100  
03.
[dbo.test\$Vendor Value.Vendor] 
04.
FROM 
05.
[dbo.test\$Vendor Value]";
Leider scheitert diese (komischerweise) mit diesem Fehler:

Invalid object name 'dbo.test$Vendor Value'.

Scheint mir so, dass die Tabelle nicht existiert, aber sie ist definitiv vorhanden!
Bitte warten ..
Mitglied: godlie
13.01.2009 um 09:31 Uhr
Ok ich habs jetzt mal nachgestellt, war ein kleiner Fehler von mir dabei.
01.
$sql = 'SELECT * 
02.
FROM `dbo`.`foo$ven value` '; 
03.
Beachte hier die SingleQuotes so musst du nicht das $ quoten.
Probiers mal damit.
Bitte warten ..
Mitglied: kugelschreiber
13.01.2009 um 10:42 Uhr
Hi.

ich habe das Problem mit folgenden Code lösen können.
01.
  
02.
$SQL =  
03.
"SELECT TOP 100  
04.
  dbo.[test\$Vendor Value.Vendor] 
05.
FROM 
06.
  dbo.[test\$Vendor Value]";
Die eckige Klammer darf nicht das Schema umschliessen.

Gruß Kuli
Bitte warten ..
Neuester Wissensbeitrag
Exchange Server

WSUS bietet CU22 für Exchange 2007 SP3 nicht an. EOL Exchange 2007

Tipp von DerWoWusste zum Thema Exchange Server ...

Ähnliche Inhalte
Datenbanken
gelöst Schleifen in SQL-Abfrage bei 2 Tabellen (2)

Frage von Aximand zum Thema Datenbanken ...

Datenbanken
gelöst Access 2010 SQL Tabellen Datensätze einfügen (6)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Netzwerkmanagement
Abfrage welche MAC an welchem Switchport, automatisieren (5)

Frage von pablovic zum Thema Netzwerkmanagement ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Windows Server
SBS 2011 Standard virtualisieren (13)

Frage von HeinrichM zum Thema Windows Server ...

Backup
Datensicherung ARCHIV (12)

Frage von fautec56 zum Thema Backup ...

LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...