:: Не фоксом единым
Открытие DBF из MS SQL
ArtemovAV

Сообщений: 25
Откуда: Москва
Дата регистрации: 04.08.2015
Всем привет.

Возникла такая задачка: необходимо с помощью "Агента SQL Server" с определенной периодичностью проверять наличие в определенной папке файлов в формате DBF и складывать внутренности этих файлов в таблицу SQL Server.

Наверняка ларчик просто открывается, но даже не знаю в какую сторону "капать". Поскольку задача срочная, то прошу помощи...

P.S. MS SQL Server 2012
Ratings: 0 negative/0 positive
Re: Открытие DBF из MS SQL
cool1

Сообщений: 316
Дата регистрации: 06.03.2016
stackoverflow.com
msdn.microsoft.com

из фокса, наверно, проще
тады это в основную ветку



Исправлено 1 раз(а). Последнее : cool1, 25.11.16 10:22
Ratings: 0 negative/0 positive
Re: Открытие DBF из MS SQL
PaulWist

Сообщений: 14621
Дата регистрации: 01.04.2004
1. Разрядность сервера?

2. forum.foxclub.ru


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Открытие DBF из MS SQL
ArtemovAV

Сообщений: 25
Откуда: Москва
Дата регистрации: 04.08.2015
Сервер 64
Ratings: 0 negative/0 positive
Re: Открытие DBF из MS SQL
PaulWist

Сообщений: 14621
Дата регистрации: 01.04.2004
ArtemovAV
Сервер 64

1. Тогда пишите на 32-х битном клиенте ехе-шник, ставите его в шедулер и через этого клиента кладёте данные на сервер.

2. Либо ставите MSSQL x32, им забираете из dbf-ов и кладете на х64 сервак.

3. Либо надо искать х64 драйвер для dbf.


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Открытие DBF из MS SQL
Влад Колосов
Автор

Сообщений: 22664
Откуда: Ростов-на-Дону
Дата регистрации: 05.05.2005
SQL Server Integration Services.


------------------
Совершенство - это не тогда, когда нельзя
ничего прибавить, а тогда, когда нечего убавить.
Ratings: 0 negative/0 positive
Re: Открытие DBF из MS SQL
cool1

Сообщений: 316
Дата регистрации: 06.03.2016
драйвер
www.microsoft.com

добавить л.с.
EXEC master.dbo.sp_addlinkedserver @server = N'fias_dbf', @srvproduct=N'OLE DB Provider for ACE', @provider=N'Microsoft.ACE.OLEDB.12.0', @datasrc=N'c:\fias', @provstr=N'DBASE IV'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'fias_dbf',@useself=N'True',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL

my load
ALTER PROCEDURE [dbo].[fias_load_by_tname](@tname varchar(20))
AS
BEGIN
SET NOCOUNT ON;
declare @sql varchar(4000)
select @sql = 'insert into ' + @tname + ' select * from fias_dbf...' + @tname
exec(@sql)
END

отпишитесь по результатам



Исправлено 1 раз(а). Последнее : cool1, 25.11.16 14:52
Ratings: 0 negative/0 positive
Re: Открытие DBF из MS SQL
ArtemovAV

Сообщений: 25
Откуда: Москва
Дата регистрации: 04.08.2015
Мне бы еще пояснения...

Драйвер качнул, установил.

Дальше подключаю связанный сервер, вроде появляется, но мне кажется я что-то не то делаю...

Я правильно понимаю этот параметр
cool1
@datasrc=N'c:\fias'
- это то место где лежат файлы? Его я меняю на свое, а остальное без изменений оставляю?
Дальше добавляю хранимую процедуру и запускаю ее с параметром имени файла dbf?

Если все правильно, то в результате получаю: Не удалось создать экземпляр поставщика OLE DB "Microsoft.ACE.OLEDB.12.0" для связанного сервера "fias_dbf".
Ratings: 0 negative/0 positive
Re: Открытие DBF из MS SQL
cool1

Сообщений: 316
Дата регистрации: 06.03.2016
exec sp_enum_oledb_providers

вы точно 64-битный качнули?



Исправлено 3 раз(а). Последнее : cool1, 25.11.16 16:30
Ratings: 0 negative/0 positive
Re: Открытие DBF из MS SQL
cool1

Сообщений: 316
Дата регистрации: 06.03.2016
вот еще

www.sql.ru

Цитата:
--Сначала разрешения для драйвера
USE master
GO
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



Исправлено 1 раз(а). Последнее : cool1, 25.11.16 16:37
Ratings: 0 negative/0 positive
Re: Открытие DBF из MS SQL
ArtemovAV

Сообщений: 25
Откуда: Москва
Дата регистрации: 04.08.2015
Результат иной, но не работает все равно...

Сначала так...
USE master
GO
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
EXEC master.dbo.sp_addlinkedserver
@server = N'fias_dbf',
@srvproduct=N'OLE DB Provider for ACE',
@provider=N'Microsoft.ACE.OLEDB.12.0',
@datasrc=N'C:\ARM\ADM\ASK',
@provstr=N'DBASE IV'

Потом в свойствах безопасности связанного сервера ставлю галочку: "Устанавливать без использования контекста безопасности"

Затем через процедуру прогоняю имя файла 'sbros000001_0316571'
ALTER PROCEDURE [dbo].[fias_load_by_tname](@tname varchar(20))
AS
BEGIN
SET NOCOUNT ON;
declare @sql varchar(4000)
select @sql = 'insert into ' + @tname + ' select * from fias_dbf...' + @tname
exec(@sql)
END

И получаю...

Поставщик OLE DB "Microsoft.ACE.OLEDB.12.0" для связанного сервера "fias_dbf" вернул сообщение "The Microsoft Access database engine could not find the object 'sbros000001_0316571'. Make sure the object exists and that you spell its name and the path name correctly. If 'sbros000001_0316571' is not a local object, check your network connection or contact the server administrator.".
Сообщение 7311, уровень 16, состояние 2, строка 1
Не удалось получить набор строк схемы "DBSCHEMA_COLUMNS" поставщика OLE DB "Microsoft.ACE.OLEDB.12.0" для связанного сервера "fias_dbf". Поставщик поддерживает интерфейс, но возвращает код ошибки при его использовании.
Ratings: 0 negative/0 positive
Re: Открытие DBF из MS SQL
ssa

Сообщений: 13008
Откуда: Москва
Дата регистрации: 23.03.2005
ArtemovAV
Всем привет.
Возникла такая задачка: необходимо с помощью "Агента SQL Server" с определенной периодичностью проверять наличие в определенной папке файлов в формате DBF и складывать внутренности этих файлов в таблицу SQL Server.

Наверняка ларчик просто открывается,
Угу. Но первое, что нужно знать - какого вида/версии/типа эти самые файлы "в формате DBF"? Dbase III? IV? V? VFP 9? Clipper? Какие-то еще? Знать это нужно для правильного подбора драйвера для них.

------------------
Лень - это неосознанная мудрость.




Исправлено 1 раз(а). Последнее : ssa, 28.11.16 15:02
Ratings: 0 negative/0 positive
Re: Открытие DBF из MS SQL
Влад Колосов
Автор

Сообщений: 22664
Откуда: Ростов-на-Дону
Дата регистрации: 05.05.2005
Дык, верно: dbf - это расширение имени файла, а не формат данных


------------------
Совершенство - это не тогда, когда нельзя
ничего прибавить, а тогда, когда нечего убавить.
Ratings: 0 negative/0 positive
Re: Открытие DBF из MS SQL
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Как то была такая задача.
Пришлось ставить експресс 32 разрядный, из него к дбф, а к нему линковаться.
Гимор некрасивый(((
С клиента все легко и красиво.
Ничего лишнего)


------------------
Ratings: 0 negative/0 positive
Re: Открытие DBF из MS SQL
cool1

Сообщений: 316
Дата регистрации: 06.03.2016
Перевожу, что хотели сказать коллеги. - Приложите сюда пример вашего dbf.

А еще проверьте пути, имя файла и разрешения на папку и на файл.
Ratings: 0 negative/0 positive
Re: Открытие DBF из MS SQL
ArtemovAV

Сообщений: 25
Откуда: Москва
Дата регистрации: 04.08.2015
Методом "научного тыка" удалось открыть таки файл... файл прилагаю... правда в том виде как он приложен он не открывается. Он открывается если его назвать например sbros.dbf. Выяснил опять же тем же методом, что длина имени файла не должна превышать 8 символов.
Ratings: 0 negative/0 positive
Re: Открытие DBF из MS SQL
Влад Колосов
Автор

Сообщений: 22664
Откуда: Ростов-на-Дону
Дата регистрации: 05.05.2005
SQL Server Integration Services без проблем открывает через фоксового провайдера. Обязательно именно линк нужен?


------------------
Совершенство - это не тогда, когда нельзя
ничего прибавить, а тогда, когда нечего убавить.




Исправлено 1 раз(а). Последнее : Влад Колосов, 01.12.16 12:02
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 5 (Гостей: 5)

© 2000-2024 Fox Club 
Яндекс.Метрика