Обычно я не работаю со связанными серверами, поэтому я не уверен, что я здесь делаю неправильно.T-SQL 2000: имя таблицы из четырех частей
Запрос, как это будет работать на связанный Foxpro сервер с SQL Server 2000:
EXEC('Select * from openquery(linkedServer, ''select * from linkedTable'')')
Однако из исследования в Интернете, что-то, как это должно работать:
Select * from linkedserver...linkedtable
но я получите эту ошибку:
Server: Msg 7313, Level 16, State 1, Line 1
Invalid schema or catalog specified for provider 'MSDASQL'.
OLE DB error trace [Non-interface error: Invalid schema or catalog specified for the provider.].
Я понимаю, что это должно быть ServerAlia s.Category.Schema.TableName, но если я запустил sp_ tables _ex на связанном сервере, для категории для всех таблиц я просто получаю сетевой путь к тому, где находятся файлы данных, а схема - null.
Неправильно ли установлен этот сервер? Или это то, что я пытаюсь сделать невозможным?
Есть ли способ, который я могу определить, каковы эти две средние части? sp_linkedservers показывает «SRV_CAT» как null, а sp_tables_ex имеет значение «TABLE_SCHEM» как нуль – John
. Посмотрите здесь - OP в этом потоке прошел аналогичную проблему с FoxPro: http://www.sqlnewsgroups.net/group/ microsoft.public.sqlserver.server/topic15865.aspx Позвольте мне, как это работает. –