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, 6847 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 ..
Ähnliche Inhalte
Datenbanken
gelöst Join über drei Tabellen (5)

Frage von Kimaro zum Thema Datenbanken ...

Batch & Shell
Batchjob Ping Abfrage fehlerhaft (2)

Frage von LukiDensi zum Thema Batch & Shell ...

Neue Wissensbeiträge
Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Windows Server

Exchange 2010 auf Windows Server 2016 und AD

(2)

Tipp von Herbrich19 zum Thema Windows Server ...

KVM

How to: Libvirt Port forwarding

(2)

Anleitung von fundave3 zum Thema KVM ...

Heiß diskutierte Inhalte
Router & Routing
über Vmware auf eine FritzBox mit IPv6 per VPN (17)

Frage von Zockervogel zum Thema Router & Routing ...

Basic
Programmierung von Windows Programmen (8)

Frage von Ghost108 zum Thema Basic ...