从SQL Server 2008-2012查询DBF

时间:2013-06-14 18:01:17

标签: sql oledb foxpro dbf sco-unix

我遇到以下问题,我们在SCO UNIX服务器上运行了一个老狐狸专业应用程序(我知道这太棒了!),我们实际上将文件从FTP传输到不同的服务器然后我们将它们从dbf转换为txt然后!我们读取了txts,最后将它们保存在SQL中。

上述情况很糟糕我知道,现在我们有很多新的应用程序,但这尤其会给我们带来很多问题,而且我们正在购买新的解决方案,但与此同时,我们需要处理这个问题。 / p>

所以我们有SQL 2008服务器和SQL 2012服务器,我想直接从SQL Server读取和修改DBF,所以我谷歌并获得以下解决方案。

sp_configure 'show advanced options', 1
reconfigure
GO

sp_configure 'Ad Hoc Distributed Queries', 1
reconfigure

EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'AllowInProcess' , 1;
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'DynamicParameters' , 1;

SELECT COLUMN1,
COLUMN2
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','dBASE III;Database=\\RemotServerName\ShareName\Folder1\SubFolder1\','SELECT COLUMN1, COLUMN2 FROM DBASEFIL.dbf WHERE COLUMN3 = ''C''')

我几乎哭了,但后来我得到了以下错误(我将其翻译成西班牙语):

OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" returned message "Unspecified error".
Mens. 7303, Level 16, State 1, Line 5
Can not initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)".

我希望你能给我一些建议,我尝试了很多解决方案而没有任何结果

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

我达到7303问题试图做同样的事情,很容易修复。只需确保SQL用户帐户对您尝试导入的文件具有正确的权限。