Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.11.23;
Скачать: CL | DM;

Вниз

ADO и dbf - файлы   Найти похожие ветки 

 
Lera ©   (2008-10-13 11:45) [0]

Здравствуйте, подскажите пожалуйста, при использовании ADO для обработки dbf - файлов в настройках компоненты ADOConnection на закладке "Подключение" для подключения данных ODBC что лучше использовать "имя источника данных" или "строку подключения"...и если кто-нибудь знает, где в инете можно почитать про работу через ADO с dbf - файлами ghb gjvjob OLE DB Provider for ODBC Drivers.
Заранее спасибо.


 
Сергей М. ©   (2008-10-13 11:52) [1]


> работу через ADO с dbf


Доступ именно через ADO - это блажь или чем-то аргументированное решение ?


 
Lera ©   (2008-10-13 11:55) [2]

Начальство приняло решение, к тому же потом этот функционал нада поставить на много клиенетских машин.


 
Сергей М. ©   (2008-10-13 12:01) [3]


> Начальство приняло решение


Мда .. Начальству в зад не заглядывают - это всем аргументам аргумент)


> этот функционал нада поставить на много клиенетских машин


Можно подумать, любой другой функционал туда поставить никак не удастся ..

А dbf"ы-то откуда берутся ? В какой среде гони созданы - FoxPro, dBase ?


 
Lera ©   (2008-10-13 12:03) [4]

Файлы берутся с сайта Росфинмониторинга, а про среду создания там ничего не говорится, к сожалению.


 
Сергей М. ©   (2008-10-13 12:04) [5]


> обработки dbf


Смотря что подразумевается под "обработкой" ..


 
www   (2008-10-13 12:04) [6]

а зачем там еще и одбц ?


 
Lera ©   (2008-10-13 12:09) [7]

"Обработка" - разбиение содержимого некоторых стринговых столбцов на несколько частей для последующей записи в несколько полей БД Oracle.
  "ODBC" - так как на машинах пользователей есть ODBC драйвера.


 
Сергей М. ©   (2008-10-13 12:13) [8]


> Lera ©   (13.10.08 12:09) [7]


Так бы и сказала - требуется импорт данных из dbf-контейнера)


 
www   (2008-10-13 12:23) [9]


>   "ODBC" - так как на машинах пользователей есть ODBC драйвера.

а если там есть видео-кодеки, их тоже использовать будешь?


 
Lera ©   (2008-10-13 12:24) [10]

Так все-таки, может кто-нибудь знает, где можно почитать про ADO и dbf - файлы?


 
Сергей М. ©   (2008-10-13 12:26) [11]

ADO ничего не знает ни про какие dbf-файлы.


 
Lera ©   (2008-10-13 13:20) [12]

Замечательно....но все же просьба - если вы не можете ответить по сути вопроса, лучше не отвечайте.


 
Сергей М. ©   (2008-10-13 13:38) [13]

А по сути - как можно говорить о "лучшести" или "хужести" чего-то там, если тобой не обозначен ни один критерий сравнения на "лучшесть"/"худшесть" ?


 
Palladin ©   (2008-10-13 14:04) [14]

www.google.ru + TDbf


 
Anatoly Podgoretsky ©   (2008-10-13 14:05) [15]

ODBC в топку, они все равно обращаются к JET, а последний к БДЕ.
Поэтому есть или нет ODBC на машине, на работу никак не влияет, кроме отрицательного эффекта. Значит одно звено можно безболезнено, а точнее с пользой выбросить, поскольку это работает без этого кривого звена, а наоборот нет.  Касательно БДЕ, если почему то душа не лежит, то можно остаться на JET, все равно дополнительной установки не требует, это часть ISAM доступа в ADO и автоматически переходит с на большое БДЕ если оно установлено. Неудобство, что настройки разные и в разных местах.


 
Palladin ©   (2008-10-13 14:06) [16]


> они все равно обращаются к JET, а последний к БДЕ.

непонял


 
Anatoly Podgoretsky ©   (2008-10-13 14:09) [17]

ODBC -> JET -> BDE -> dbf (dBase V-)


 
Lera ©   (2008-10-13 14:14) [18]

Спасибо.То есть БДЕ все равно, должно быть установлено на машине пользователя?


 
Palladin ©   (2008-10-13 14:20) [19]


> Anatoly Podgoretsky ©   (13.10.08 14:09) [17]

тоесть без установленного BDE Jet не будет работать с dbf ?


 
sniknik ©   (2008-10-13 15:01) [20]

> тоесть без установленного BDE Jet не будет работать с dbf ?
работает, в ограниченном режиме, т.к. они носят с собой "лайт версию BDE" в dll, если находит установленный использует его уже в полнофункциональном режиме.
+ и бывают конфликты если параллельно запущено приложение использующее "честноустановленный" BDE, приходится отключать использование установленного.

> То есть БДЕ все равно, должно быть установлено на машине пользователя?
смотря, что будет делать приложение, и с какими обьемами данных (не знаю что там за ограничения, и знать не хочу. кому надо сам найдет в хелпе по jet).


 
Anatoly Podgoretsky ©   (2008-10-13 16:11) [21]


> Спасибо.То есть БДЕ все равно, должно быть установлено на
> машине пользователя?

Как раз наоборот, без установленого БДЕ работать будет, поскольку в JET входят ISAM драйвера БДЕ (Text/xBase/Paradox (RO)).


 
Lera ©   (2008-10-13 16:38) [22]

Пытаюсь настроить компоненту TADOConection для провайдера Microsoft OLE DB Provider for ODBC Driver. Выставляю "Источниик данных" = Файлы DBase, "Начальный каталог" = каталог на диске с файлом dbf, проверяю подключение -> сообщение "Проверка выполнена". Кладу на форму DataSourse, TADOTable. Соединяю компоненты. Выбираю в TADOTable TableName. Выдает ошибку "Произошли ошибки во время выполнения многошаговой операции OLE DB. По возможности проверьте значения всех состоянийOLE DB. Работа не выполнена". Подскажите, плиз, в чем дело?


 
Palladin ©   (2008-10-13 16:40) [23]


> Lera ©   (13.10.08 16:38) [22]

с подобными, "обменными", dbf файлами лучше всего работать прямым доступом


 
Lera ©   (2008-10-13 16:47) [24]

А вы не знаете случайно, как правильно настроить, такое соединение, которая я описала. Просто на высшем уровне было принято решение делать через ODBC драйверс, т.к. как они есть на машинах пользователей по умолчанию.


 
Palladin ©   (2008-10-13 16:49) [25]

Прямой доступ означает - работа с файлом dbf, как с файлом. Без всяких драйверов (ну кроме файловой системы и тп) и соединений. см [14]


 
Сергей М. ©   (2008-10-13 16:56) [26]


> делать через ODBC драйверс, т.к. как они есть на машинах
> пользователей по умолчанию


Ну если и твой софт, использующий ODBC, чудесным образом сам вдруг окажется на всех этих машинах, тогда можно и через ODBC)

А что еще, спрашивается, надо для полного счастья ?

Начальство только еще подумало о разработке и внедрения софта, а он - хрясь ! - уже там установлен)..

Вот лафа-то внедренцам, саппорту да админам !)


 
Lera ©   (2008-10-13 17:02) [27]

Palladin, значит на клиентских машинах не надо будет ничего ставить?


 
Anatoly Podgoretsky ©   (2008-10-13 17:05) [28]

Lera ©   (13.10.08 16:47) [24]
А вы не знаете случайно, как правильно настроить, такое соединение, которая я описала. Просто на высшем уровне было принято решение делать через ODBC драйверс, т.к. как они есть на машинах пользователей по умолчанию.

Вы не работает через ODBC драйверы, а через OLE DB Provider for ODBC Drivers, который затем обращается к JET (который не такой кривой, как первое), который затем обращается к БДЕ.
Отсюда вывод - выбросить лишнее звено, а оставить два последних, иначе проблемы будете огребать постоянно.

И вопрос, а какой ODBC драйвер используется? Наверно dBase и я не удивлюсь, что база на самом деле ФоксПро, а не dBase.


 
Anatoly Podgoretsky ©   (2008-10-13 17:07) [29]


> Palladin, значит на клиентских машинах не надо будет ничего
> ставить?

Если у вас работает через ODBC, то обязательно будет работать и без. ODBC лишнее звено.


 
Lera ©   (2008-10-13 17:13) [30]

Спасибо, т.е Microsoft.Jet.OLEDB.4.0.


 
Lera ©   (2008-10-13 17:15) [31]

Пишет - " Не распознанный тип данных *.dbf "


 
Сергей М. ©   (2008-10-13 17:23) [32]


> Lera ©   (13.10.08 17:15) [31]


Возьми на вооружение MS VisualFoxPro OLEDB - и начальство будет довольно, и телега без лишних колес будет..

Что же касается наличия чего-то там "по умолчанию" - все равно же кому-то так или иначе придется бегать по компам и устанавливать твой софт, так почему бы при этом не установить и всю прочую ботву, от которой зависит работа твоего софта ?


 
sniknik ©   (2008-10-13 17:34) [33]

> "Произошли ошибки во время выполнения многошаговой операции OLE DB. По возможности проверьте значения всех состоянийOLE DB. Работа не выполнена".
> Подскажите, плиз, в чем дело?
один из вариантов неправильно задан какой то параметр в строке.

> Пишет - " Не распознанный тип данных *.dbf "
а с чего взял что будет dBase?

может быть фокс, клипер, адвантаже дбасе и т.д. до тысячи различных популярных и нет форматов с одноимённым расширением "dbf"...


 
Anatoly Podgoretsky ©   (2008-10-13 17:59) [34]

> Lera  (13.10.2008 17:13:30)  [30]

И получишь тоже самое, только надежнее и проще в обслуживание, точнее никакого.


 
Lera ©   (2008-10-13 19:39) [35]

Анатолий, а где взять эти компоненты?


 
Anatoly Podgoretsky ©   (2008-10-13 19:52) [36]

Данные компоненты системы уже установлены, иначе бы ты не могла работать с АДО через OLE DB Provider for ODBC Drivers, я же приводил цепочку связи.


 
Palladin ©   (2008-10-13 20:19) [37]

мда... стоило на время отлучится до дома...


>Palladin, значит на клиентских машинах не надо будет ничего ставить?

я не понимаю, у тебя какое то особок вероисповедание что не позволяет поискать TDbf и попробовать? как я вижу задача импорта, совет поступил 3.5 часа назад... да ну тебя знаешь куда....
lmd


 
Lera ©   (2008-10-14 08:59) [38]

Так все таки BDE должно стоять у пользователя для прямой работы с файлами dbf через класс TDbf?


 
Правильный$Вася   (2008-10-14 11:15) [39]


> Lera ©   (14.10.08 08:59) [38]

в гугл
"вы там будете слушать" (с)


 
ASoft   (2008-10-15 11:11) [40]


> Lera ©   (13.10.08 17:15) [31]
>
> Пишет - " Не распознанный тип данных *.dbf "

К примеру, так:
ADOConnection.ConnectionString:=
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\base;"+
"Extended Properties = dBase 5.0;"+
"Mode = Read;"+
"Persist Security Info = False";



Страницы: 1 2 вся ветка

Текущий архив: 2008.11.23;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.015 c
2-1223894446
Сергей
2008-10-13 14:40
2008.11.23
Как скопировать файл любого формата в буфер?


15-1222326364
123-ий
2008-09-25 11:06
2008.11.23
Работа с NOD32


2-1223557692
AlexDan
2008-10-09 17:08
2008.11.23
RichEdit и буфер обмена


2-1223906061
Terasbetoni
2008-10-13 17:54
2008.11.23
Создать MDI-child сразу при запуске программы


15-1222403541
Slider007
2008-09-26 08:32
2008.11.23
С днем рождения ! 26 сентября 2008 пятница