尝试使用 Visual Fox Prox OLE DB Provider v9.0.0.3504 通过 SQL Server 2008 R2 中的链接服务器运行任何查询时,我收到以下错误。
我正在尝试这样做,因为我需要将 VFP .dbf 文件中的数据导入 SQL 数据库。
错误:
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.
示例查询:
select * from vfp...pat
- 我已确保 SQL Server 正在运行的服务帐户和登录到服务器上的 SSMS 的用户帐户对空闲表目录具有“完全控制”AD 权限。
- 服务器操作系统是 Windows Server 2003 SP2 x86。
用于创建链接服务器的 TSQL 如下:
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
我还使用了另一个 @provstr 值
Provider =vfpoledb; Data Source =C:\VFP\; Collating Sequence =general;
所以我的问题是我错过了我需要配置的任何东西吗?谁能提供一些关于我应该检查什么来解决这个问题的指示?
提前致谢
编辑:
我应该提到,为 VFPOLEDB 提供程序配置了“允许进程内”,并且在使用 4 个部件名称或 OPENQUERY() 时查询失败。
最终在尝试使用 SSIS 和 VFP ODBC 驱动程序解决问题时找到了答案。VFPODBC 提供了更详细的错误消息,指出我尝试查询的 dbf 文件缺少 .fpt 文件。
复制原始数据(VFP 数据托管在服务器外)的工作人员未能包含所有可用数据(.cdxs、.fpts、.etc)。重新复制数据后,上述链接服务器正常运行。