2013-06-14 7 views
0

У меня есть следующая проблема: у нас есть приложение для старых приложений fox, работающее на сервере SCO UNIX (я знаю, это потрясающе!), Мы фактически передаем файлы с FTP на сервер differents мы преобразуем их из dbf в txt, а затем! мы читаем txts и, наконец, сохраняем их в SQL.Запрос DBF из SQL Server 2008-2012

Вышеописанная ситуация, которую я знаю, теперь у нас много новых приложений, но это, в частности, вызывает у нас массу проблем, и мы покупаем новое решение, но тем временем нам нужно иметь дело с этим.

Итак, у нас есть серверы SQL 2008 и серверы SQL 2012, и я хочу читать и изменять DBF непосредственно с SQL-серверов, поэтому я google и получаю следующее решение.

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)". 

Я надеюсь, что вы могли бы дать мне несколько советов, я пробовал много решений с вне любой результат

+0

Некоторые версии Foxpro (особенно если используются поля memo) не совместимы с dBase III. У вас есть поля memo (или файлы с тем же именем, что и DBF и расширение FPT) – Sparky

+0

Насколько я знаю, в базе данных нет заметки –

ответ

0

Я достиг этой проблемы 7303, пытаясь сделать то же самое, и это было легко исправить. Просто убедитесь, что учетная запись пользователя SQL имеет права на файлы, которые вы пытаетесь импортировать.