SQL الاستعلام إلى خادم مؤشر مرتبط لا تعمل البدل ث
-
22-07-2019 - |
سؤال
وهذا البيان الأول استخدامها في sproc (حيث بحث عبارة 'reiseportal * هي معلمة) لا يعمل مع بطاقة دعوة، وأنا معترف بها:
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
وهذه هي محتويات المتغيرstrSQL:
وبعد اختيار 1:
select FileName, path, size, vpath from "GRIP-SERVER"."Web2"..SCOPE() where
contains(''reiseportal*'')
و2 تحديد:
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'
ويستحوذون-SERVER هو خادم الفهرس المرتبطة (= خادم مايكروسوفت 2003 - ملف الخادم لدينا).
وأنا لا تحصل عليه ... فإنها ترجع النتائج مع "reiseportals" وليس "reiseportal *" أو "reiseportal٪". هل لديك أي تلميحات بالنسبة لي؟
ومساعدتكم هي موضع تقدير، وذلك بفضل الكثير!
المحلول
ولقد وجدت الإجابة نفسي.
والمشكلة ليست في البدل، ولكن-علامات السلسلة. لا يستخدم خادم الفهرس الفواصل العليا ولكن علامات الاقتباس. لذلك SQL الصحيح ينبغي أن يكون مثل:
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
لا تنتمي إلى StackOverflow