我有以下问题,我们有一个旧的 fox pro 应用程序在 SCO UNIX 服务器上运行(我知道这太棒了!),我们实际上将文件从 FTP 传输到不同的服务器,然后我们将它们从 dbf 转换为 txt,然后!我们阅读了 txt,最后将它们保存在 SQL 中。
我知道上面的情况很糟糕,现在我们有很多新的应用程序,但这特别给我们带来了很多问题,我们正在购买一个新的解决方案,但与此同时,我们需要处理这个问题。
所以我们有 SQL 2008 Servers 和 SQL 2012 Servers,我想直接从 SQL Servers 读取和修改 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)".
我希望你能给我一些建议,我尝试了很多解决方案,但没有任何结果