SQL-Query: Feldnamen mit Leerzeichen ;o(
SQL-Query: Feldnamen mit Leerzeichen ;o(
Hallo Leute!
Ich habe für einen Kunden ein kleines Tool entwickelt, über welches man per ODBC auf Datenbanken zugreifen, ein SQL abarbeiten lassen kann und dann aus diesem Ergebnis ein XML erstellt.
Nun hat der, der das XML schlussendlich bekommt Probleme mit Leerzeichen in einigen Datenfeldern dieser DB.
Nun, aus dem "SELECT *" wurde eben ein "SELECT feld1, feld2, ". Ich habe es mit "SELECT feld 1 as feld1" mit "SELECT 'feld 1' as feld1" und "[feld 1] as feld1" versucht, leider erhalte ich jedesmal einen Bad Query ;o(
Wie könnte man das noch lösen?
Achja, ich hab nur per RemoteDesktop Verbindung auf den Zielrechner, auf dem meine Exe läuft. Ich hab keine Rechte, die Exe neu zu erstellen und dort hinzuladen.
Geht das nicht auch irgendwie per SQL?
lg, Sosti
Ich habe für einen Kunden ein kleines Tool entwickelt, über welches man per ODBC auf Datenbanken zugreifen, ein SQL abarbeiten lassen kann und dann aus diesem Ergebnis ein XML erstellt.
Nun hat der, der das XML schlussendlich bekommt Probleme mit Leerzeichen in einigen Datenfeldern dieser DB.
Nun, aus dem "SELECT *" wurde eben ein "SELECT feld1, feld2, ". Ich habe es mit "SELECT feld 1 as feld1" mit "SELECT 'feld 1' as feld1" und "[feld 1] as feld1" versucht, leider erhalte ich jedesmal einen Bad Query ;o(
Wie könnte man das noch lösen?
Achja, ich hab nur per RemoteDesktop Verbindung auf den Zielrechner, auf dem meine Exe läuft. Ich hab keine Rechte, die Exe neu zu erstellen und dort hinzuladen.
Geht das nicht auch irgendwie per SQL?
lg, Sosti
Re: SQL-Query: Feldnamen mit Leerzeichen ;o(
Hallo Sosti,
wenn ich Dich richtig verstanden habe, dann funktioniert die SQL-Abfrage
und die anschliessende Generierung des XML grundsätzlich? Lediglich
derjenige, der das XML bekommt hat nun Probleme, es zu verarbeiten, weil
Du die Tabellennamen (eben auch den Namen mit einem Leerzeichen) im
XML gespeichert hast?
Schreib mal kurz, wenn dem so ist, dann haben wir eine gemeinsame
Verständigungsbasis.
Grüße ... Kiffi
wenn ich Dich richtig verstanden habe, dann funktioniert die SQL-Abfrage
und die anschliessende Generierung des XML grundsätzlich? Lediglich
derjenige, der das XML bekommt hat nun Probleme, es zu verarbeiten, weil
Du die Tabellennamen (eben auch den Namen mit einem Leerzeichen) im
XML gespeichert hast?
Schreib mal kurz, wenn dem so ist, dann haben wir eine gemeinsame
Verständigungsbasis.

Grüße ... Kiffi
a²+b²=mc²
@kiffi
versteh ich anders
der Kunde kann mit einem vollständigen Select (select *) nicht umgehen
also selektiert sosti nur die relevanten Felder.
@sosti
mach mal lieber so
der Feldname muss nur dann in die eckigen Klammern wenn
der ein Leerzeichen enthält oder Teil einer längeren Zuordung
ist like [server].[tabelle].[user].[tabelle]
Die Bezeichnung in EinzelHochkommata, wenn ein Leerzeichen enthalten
ist. Ich mach die Teile immer dadrum, weil es netter aussieht.
versteh ich anders
der Kunde kann mit einem vollständigen Select (select *) nicht umgehen
also selektiert sosti nur die relevanten Felder.
@sosti
mach mal lieber so
Code: Alles auswählen
Select [feldname] as 'Feldnamenbezeichnung' ,[feldname2] as 'feldnamenbezeichnung2'
der ein Leerzeichen enthält oder Teil einer längeren Zuordung
ist like [server].[tabelle].[user].[tabelle]
Die Bezeichnung in EinzelHochkommata, wenn ein Leerzeichen enthalten
ist. Ich mach die Teile immer dadrum, weil es netter aussieht.
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
so ein Dös-kram hab ich heut gemacht......
Verknüpfung über 3 Tabellen.
und da waren alle Namen ohne Leerzeichen und Sonderzeichen,
ansonsten hätt ich's Rad geschlagen
Code: Alles auswählen
SQL = "Select Distinct A.L_R_NR , A.Anlage , B.RezeptNR, B.SortenNR as SortenNR ,C.Sorten_Ges , C.Bez1 as Bez1, C.Bez2 as Bez2 "
SQL = SQL & "from Rezepte A,Rezepte_sorten B, MidSAR00 C"
SQL = SQL & " where A.Anlage=520 and A.L_R_NR=B.RezeptNR and B.SortenNR=C.Sorten_Ges Order by C.Bez1"
und da waren alle Namen ohne Leerzeichen und Sonderzeichen,
ansonsten hätt ich's Rad geschlagen

Rings hat geschrieben:ziert sich nich beim zitieren
<OT>
10 Tabellen. Wer bietet mehr? 
Grüße ... Kiffi
</OT>
gähn!Rings hat geschrieben:Verknüpfung über 3 Tabellen.
Code: Alles auswählen
SELECT CC_LBW.LBW, CC_CP_CLG.CP, CC_FT.ID, CC_FTLN.BN AS FT_BN,
CC_VLLN.BN AS VL_BN, CC_LBW.DT, CC_LBW.BMPN, CC_PN.BN AS PN_BN, CC_PN.ID AS PN_ID,
CC_LBW.BMCP, CC_LBW.Clearance, CC_VL.VL, CC_LBW_FV.FT_VALUE, CC_VL.VL_VALUE
FROM CC_FT INNER JOIN
CC_CLG_FT ON CC_FT.FT = CC_CLG_FT.FT INNER JOIN
CC_LBW INNER JOIN
CC_CP_CLG ON CC_LBW.CP = CC_CP_CLG.CP INNER JOIN
CC_PN ON CC_LBW.PN = CC_PN.PN INNER JOIN
CC_CLG_CLGX ON CC_CP_CLG.CLG = CC_CLG_CLGX.CLG ON
CC_CLG_FT.CLG = CC_CLG_CLGX.CLGX LEFT OUTER JOIN
CC_FTLN ON CC_FT.FT = CC_FTLN.FT LEFT OUTER JOIN
CC_VLLN INNER JOIN
CC_LBW_FV INNER JOIN
CC_VL ON CC_LBW_FV.FT_VALUE = CC_VL.VL ON CC_VLLN.VL = CC_VL.VL ON
CC_FT.FT = CC_LBW_FV.FT AND CC_LBW.LBW = CC_LBW_FV.LBW
ORDER BY CC_LBW.LBW, FT_BN

Grüße ... Kiffi
</OT>
a²+b²=mc²
Wir setzen hier den MS-SQL-Server ein (sowohl 2000 als auch 2005). Geradedysti hat geschrieben:Könnt ihr mir mal verraten, welche Datenbankengine ihr nimmt?
der neue SQL-Server hat ein paar nette Features.
Die Schreibweise, Tabellen und Felder mit 2 Zeichen zu benennen, ist dieRings hat geschrieben:Die Feldnamen haben auch noch so
eindeutige Namen........
Erfindung meines Chefs. Da könnt Ihr mal sehen, womit ich mit tagtäglich
herumärgern muss.

Grüße ... Kiffi
a²+b²=mc²
Anmerkung:
Was die ExpressVersion gegenüber der MSDE angeht sollte man bei der
MSDE bleiben. Die neuen Einschränkungen sehen zwar erstmal gut aus,
aber sobald etwas Last auf den SQLExpress kommt, kackt das Teil
gnadenlos ab bzw. wird sehr langsam. Die MSDE ist unter gleichen
Umständen wesentlich performanter.
Aber die neuen Optionen besonders auch der Manager sind schon geil.
Aktuell setzen wir den SQLServer 2K auf unaktuellen Win2KServern auf
aktuellen XEON-Maschinen ein.
Was die ExpressVersion gegenüber der MSDE angeht sollte man bei der
MSDE bleiben. Die neuen Einschränkungen sehen zwar erstmal gut aus,
aber sobald etwas Last auf den SQLExpress kommt, kackt das Teil
gnadenlos ab bzw. wird sehr langsam. Die MSDE ist unter gleichen
Umständen wesentlich performanter.
Aber die neuen Optionen besonders auch der Manager sind schon geil.
Aktuell setzen wir den SQLServer 2K auf unaktuellen Win2KServern auf
aktuellen XEON-Maschinen ein.
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.