Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

SQL2k8 R2 Übergabe varchar an SP mit führendem Doppelkreuz scheitert

Frage Internet Server

Mitglied: PCFJKG

PCFJKG (Level 1) - Jetzt verbinden

21.06.2012, aktualisiert 11:37 Uhr, 2058 Aufrufe, 3 Kommentare

An eine gespeicherte Prozedur werden verschiedene Parameter übergeben, u.a. eine Tabellenbezeichnung. Wenn dieser Parameter mit ## beginnt gibt es ein Problem.

ALTER Procedure P_XYZ
(
@ZahlOderText char(1),
@DB_Name varchar(26),
@TabName varchar(66),

@rückInfo varchar(666) OUTPUT
)
AS

...

SET @rückinfo = @Tabname
RETURN

Sobald die Variable @Tabname mit dem Doppelkreuz beginnt (z.B. '##T_ABC') geschieht - ja was eigentlich ?

Wenn ich @Tabname über @rückinfo auswerte, gibt die SP den Wert der Variablen zurück (T_ABC etc.). Gleiches mit ##T_ABC und es erfolgt keine oder eine leere Rückgabe. Es werden im konkreten Anwendungsfall noch mehr Parameter übergeben, aber das sollte wohl keine Rolle spielen.

Was ist hier falsch ?

Dank an die Experten.

Viele Grüße von
PCFJKG
Mitglied: LianenSchwinger
21.06.2012, aktualisiert um 11:44 Uhr
Hallo,

kenne mich mit dem MS SQL zwar nicht aus aber vielleicht hilft ja folgende Seite.

http://msdn.microsoft.com/de-de/library/ms175874.aspx

Gruß Jörg
Bitte warten ..
Mitglied: PCFJKG
21.06.2012 um 12:06 Uhr
Hallo Jörg und vielen Dank für die schnelle Antwort. In Deinem Link steht unter anderem

...
Ein Bezeichner, der mit einem doppelten Nummernzeichen (##) beginnt, steht für ein globales .......
...

und damit wird das doppelte Nummernzeichen also explixit erlaubt - also leider liegt das Problem anders. Aber wie gesagt:

Vielen Dank für Deine Hilfe.

Freundliche Grüße
PCFJKG
Bitte warten ..
Mitglied: LianenSchwinger
21.06.2012, aktualisiert um 12:45 Uhr
Bei näherer Betrachtung handelt es sich ja garnicht um einen Bezeichner sondern um den Inhalt einer Variablen. Könnte es sein, dass bei der Verwendung des Variableninhalts den '#'ern irgendwie ein '/' oder dergleichen vorangestellt werden muss um eine richtige Interpretation zu erreiche.

Bei Oracle muss ich z.B.

01.
SELECT last_name 
02.
FROM employees 
03.
WHERE last_name LIKE '%A\_B%' ESCAPE '\';
mitteilen, dass der Unterstrich mittels '\' ein Zeichen ist und nicht der Platzhalter für ein beliebiges Zeichen.

Gruß Jörg
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Führende Nullen hinzufügen (6)

Frage von Erik72 zum Thema Batch & Shell ...

Rechtliche Fragen
Alter Systempartner weigert sich Übergabe zu machen (10)

Frage von Xartor zum Thema Rechtliche Fragen ...

JavaScript
Übergabe einer php-Variable an JS

Frage von Rabauke84 zum Thema JavaScript ...

Windows 7
GDT, Übergabe an Medizinische Software (17)

Frage von Hubtus zum Thema Windows 7 ...

Neue Wissensbeiträge
Sicherheit

Millionen Euro in den Sand gesetzt?

(2)

Information von transocean zum Thema Sicherheit ...

Sicherheit

How I hacked hundreds of companies through their helpdesk

Information von SeaStorm zum Thema Sicherheit ...

Erkennung und -Abwehr

Ccleaner-Angriff war nur auf große Unternehmen gemünzt

(10)

Information von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Heiß diskutierte Inhalte
Humor (lol)
gelöst Freidach Beitrag (40)

Frage von Penny.Cilin zum Thema Humor (lol) ...

Firewall
gelöst Firewall Firmeneimsatz (21)

Frage von wiesi200 zum Thema Firewall ...

Multimedia & Zubehör
gelöst 8 GB USB Stick besitzt nur noch 4 MB Kapazität (13)

Frage von Gwahlers zum Thema Multimedia & Zubehör ...