Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.04.18;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по ADO+ODBC+Paradox   Найти похожие ветки 

 
TriNeT   (2002-03-25 06:36) [0]

Доброго времени суток.
Опять прошу помощи у всезнающего ALL. Проблема с сабжем состоит в следующем:

Имеется две базы данных (Paradox) на одном из файловых серверов. Эти базы ведутся своими приложениями. И имеется моя программа, которой необходимо периодически обращаться к этим базам, чтобы считать некоторую информацию. Обращение происходит в режиме read-only.

В силу определенных обстоятельств мне приходится использовать ADO а не BDE (хотя я на эти обстоятельства вовсе даже не жалуюсь). Так вот, чтобы достучаться до Paradox-таблиц через ADO мне приходится использовать ODBC (по-моему других провайдеров в стандартном комплекте нет, а другими лучше не пользоваться). Создаю системный DSN, связываю его с драйвером Microsoft Paradox Driver, указываю сетевой каталог (насколько я понимаю, это путь к файлу pdoxusrs.net). Остальные параметры, как то - путь к таблицам, определяю в своей программе и динамически формирую ConnectionString в TADOConnection.

При тестировании на локальной машине, все проходит нормально, устанавливается соединение с базой, данные читаются и все такое. Ну это и понятно, поскольку я и есть единственный юзер для этой базы. Но как только переносишь испытания на реальную сеть, при попытке соединения с базой вываливается exception с номером ошибки 11270 и описанием, информативным, как инструкция по использованию туалетной бумаги: "Непредвиденная ошибка драйвера". Описания этой ошибки найти не смог. Единственное, что я выяснил - точно такая же ошибка выскакивает при использовании любой программы просмотра таблиц БД (в частности, "родной" офисный msqry), причем в DSN я указываю ВСЕ необходимые параметры.

Из-за этого у меня ощущение, что то-ли я неправильно указываю параметры в DSN, то ли проблема как-то связана с файлом Pdoxusrs.net

Люди, кто сталкивался с подобным - поделитесь опытом. А кто не сталкивался, может быть подкинете идеюку-другую? Может быть я просто зациклился и не вижу того, что лежит на поверхности. Буду благодарен всем, кто откликнется!


 
sniknik   (2002-03-25 09:08) [1]

Попробуй все же прямую связку без ODBC.
строка подключения к Paradox вполне стандартна :).
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\;Extended Properties=Paradox 4.0;Persist Security Info=False

Выдержка из Хелпа. Номера 11270 не нашол, было бы конкретней но можно еще в MSDN поискать.
Непредвиденная ошибка драйвера внешней базы данных <номер ошибки>. (Ошибка 3275)
Драйвер внешней (указанной) базы данных возвращает ошибку. Такие ошибки являются результатом попытки выполнения операции, не поддерживаемой базами данных этого типа.

т.е. по сути у тебя какаято операция поддерживается локальным драйвером и не поддерживается сетевым.


 
TriNeT   (2002-03-25 10:48) [2]

2 sniknik ©

Спасибо за то, что откликнулись.
Попробовал. Введя дословно ту ConnectionString, которая была указана в примере (предварительно естественно заменив пути), при проверке подключения получил, как тот фашист - гранату, следующее сообщение:
[Ошибка Microsoft Data Link]
"Сбой проверки подключения из-за ошибки при инициализации поставщика. Невозможно найти устанавливаемый ISAM"
Проверял даже не на сети, а на локальном варианте.

Вообще-то я очень удивился, увидев, что вы предлагаете использовать Майкрософтский Jet, который вроде-бы предназначен для доступа к ACCESS"у, в качестве провайдера для Paradox. Но поскольку обратного никто не утверждал, то наверное дело в другом.



 
sniknik   (2002-03-25 11:24) [3]

Не все правильно. просто Jet кроме Access еще кое чего поддерживает смотри в реестре путь.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\ISAM Formats

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

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\;Mode=ReadWrite;Extended Properties=Paradox 4.x;Persist Security Info=False

на самом деле и та будет работать если поставить 4.x вместо 4.0


 
TriNeT   (2002-03-26 08:59) [4]

2 sniknik ©

Доброго времени суток!
Проверить удалось пока только в локальном варианте. ПОЛУЧИЛОСЬ!!!! Правда если выставлять дополнительно флаг "Share deny none", то вываливается exception с сообщением о невозможности завершить операцию и еще чего-то там. В общем-то я пока не могу оценить, нужен ли мне этот флаг, просто в самом начале столкнулся с такой ситуацией.
Пока не могу испытать на реальной сети, но думаю сегодня выкрою время и проверю.
Сорри за сомнения, я честно о таких возможностях Jet"а не знал. А если не секрет, откуда такие знания? ;)

Огромное спасибо за помощь. О результатах сетевых испытаний напишу позже.


 
TriNeT   (2002-03-27 05:12) [5]

2 sniknik ©

Хочется витеевато выругаться, но не буду. Оказывается трабл вовсе не в сабже, а в сервере, о технических характеристиках я как-то не догадывался. В общем-то по мощности сервером его нельзя назвать даже с натяжкой. Короче говоря мои обращения к базам на нем почему-то оказываются последней соломинкой на спине верблюда. Перенеся базы и перенастроив линки на другой сервер, все сразу заработало, причем как ODBC, так и тот способ, который вы мне показали.
В общем сабж снимается, но теперь использую Ваш подход.
Еще раз спасибо.



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

Форум: "Базы";
Текущий архив: 2002.04.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
3-57595
Roman_tutov
2002-03-27 11:11
2002.04.18
Table


3-57656
fishka
2002-03-28 14:24
2002.04.18
InterBase. Обновить таблицу значениями из другой таблицы другой


3-57601
AlexMey
2002-03-27 12:18
2002.04.18
ADO, Access и Delphi.


3-57631
Sergant
2002-03-27 12:39
2002.04.18
Компоненты для поиска/замены и фильтрации


1-57789
commm
2002-04-05 17:40
2002.04.18
как узнать имя (логин) текущего пользователя windows?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский