La query SQL sul server di indicizzazione collegato non funziona con i caratteri jolly

StackOverflow https://stackoverflow.com/questions/1227072

  •  22-07-2019
  •  | 
  •  

Domanda

questa affermazione che uso in uno sproc (dove la frase di ricerca 'reiseportal *' è un parametro) non funziona con un carattere jolly, come ho riconosciuto:

DECLARE @strSQL NVARCHAR(MAX)

SELECT @strSQL= 'SELECT FileName, path, size, vpath from "GRIP-SERVER"."Web2"..SCOPE() where contains
('SELECT @strSQL=@strSQL  + CHAR(39) + CHAR(39)+ 'reiseportal*' + CHAR(39) + CHAR(39)+')'

SELECT @strSQL='SELECT DISTINCT DOC.ID_Kandidat, IDXS.* FROM
OPENQUERY([GRIP-SERVER],'+ CHAR(39) + @strSQL + CHAR(39) +') AS IDXS INNER JOIN
tblK_Dokumente AS DOC
ON DOC.Link = IDXS.[FileName]
ORDER BY ID_Kandidat'

EXEC sp_executesql @statement = @strSQL

questi sono i contenuti della variabile @strSQL:

dopo la prima selezione:

select FileName, path, size, vpath from "GRIP-SERVER"."Web2"..SCOPE() where
contains(''reiseportal*'')

2a selezione:

SELECT DISTINCT DOC.ID_Kandidat, IDXS.* FROM
OPENQUERY([GRIP-SERVER],'select FileName, path, size, vpath from "GRIP-SERVER"."Web2"..SCOPE() where
contains(''reiseportal*'')') AS IDXS INNER JOIN
tblK_Dokumente AS DOC
ON DOC.Link = IDXS.[FileName]
ORDER BY ID_Kandidat'

GRIP-SERVER è il Index Server collegato (= Microsoft Server 2003 - il nostro file server).

Non capisco ... restituisce risultati con " reiseportals " ma non " reiseportal * " o "reiseportal%". Hai qualche suggerimento per me?

Il tuo aiuto è molto apprezzato, grazie mille!

È stato utile?

Soluzione

Ho trovato la risposta da solo.

Il problema non è il carattere jolly, ma i marcatori di stringa. Il server di indicizzazione non utilizza apostrofi ma virgolette. Quindi l'SQL corretto dovrebbe essere come:

SELECT DISTINCT DOC.ID_Kandidat, IDXS.* FROM
OPENQUERY([GRIP-SERVER],'select FileName, path, size, vpath from "GRIP-SERVER"."Web2"..SCOPE() where
contains(''"reiseportal*"'')') AS IDXS INNER JOIN
tblK_Dokumente AS DOC
ON DOC.Link = IDXS.[FileName]
ORDER BY ID_Kandidat
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top