Estou recebendo o erro abaixo ao tentar executar qualquer consulta por meio de um servidor vinculado no SQL Server 2008 R2 usando o Visual Fox Prox OLE DB Provider v9.0.0.3504.
Estou tentando fazer isso porque preciso importar dados de arquivos VFP .dbf para um banco de dados SQL.
Erro:
Msg 7314, Level 16, State 1, Line 1
The OLE DB provider "VFPOLEDB" for linked server "vfp" does not contain the table "pat". The table either does not exist or the current user does not have permissions on that table.
Consulta de exemplo:
select * from vfp...pat
- Assegurei-me de que há permissões AD de 'Controle total' para o diretório de tabela livre para a conta de serviço que o SQL Server está executando e a conta de usuário que está conectada ao SSMS no servidor.
- O sistema operacional do servidor é o Windows Server 2003 SP2 x86.
O TSQL para criação do servidor vinculado está abaixo:
EXEC master.dbo.sp_addlinkedserver @server = N'VFP', @srvproduct=N'Visual FoxPro', @provider=N'VFPOLEDB', @datasrc=N'"C:\VFP"', @provstr=N'VFPOLEDB.1' EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'VFP',@useself=N'False',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL
Eu também usei um valor @provstr alternativo de
Provider =vfpoledb; Data Source =C:\VFP\; Collating Sequence =general;
Então, minha pergunta é: perdi alguma coisa que preciso configurar? Alguém pode fornecer algumas dicas sobre o que devo verificar para resolver esse problema?
desde já, obrigado
EDITAR:
Devo mencionar que "permitir inprocess" está configurado para o provedor VFPOLEDB e as consultas falham ao usar nomes de 4 partes ou OPENQUERY ().
Eventualmente encontrou a resposta ao tentar contornar o problema usando o SSIS e o driver VFP ODBC. O VFPODBC forneceu uma mensagem de erro mais detalhada, informando que o arquivo .fpt estava ausente para o arquivo dbf que eu estava tentando consultar.
A equipe que fez a cópia original dos dados (os dados VFP estão hospedados fora do servidor) falhou em incluir todos os dados disponíveis (.cdxs, .fpts, .etc). Depois de copiar novamente os dados, o servidor vinculado descrito acima funciona corretamente.