Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблемы обращения к базе Paradox из CGI. Помогите!!!!!! [D4, Paradox]


vlad40 ©   (2002-09-11 09:37:00) 

CGI аппликация. Платформа NT4, IIS. Файловая система NTFS. При открытии таблицы (Table.Active) получаю сообщение: "Exception EDBEngineError in module .... Invalid file name." Пути и имена файлов правильные (100%). Местная аппликация с теми же путями работает. Проблема, видимо, связана с IIS. Дал все права Everyone для папок с файлами базы, BDE, TEMP. Если базу размещаю не на сервере, а на другом компьютере в локальной сети с Win9X, то работает (даю сетевой путь "\\имя_компьютера\папка"). Если кладу базу на компьютер с NT, то не находит путь к папке. Опять-таки, все проблемы только тогда, когда аппликация работает через IIS. При нормальном запуске все работает. Помогите, пожалуйста!!!


vlad40   (2002-09-11 13:25:00) [1]

Да, дал все, что можно


Max Zyuzin   (2002-09-11 13:03:00) [2]

Так... Ты пермисси (разрешения) для каталога, где БД хранится настраивал?


vlad40   (2002-09-11 13:01:00) [3]

Спасибо, буду пытаться что-то сделать. Есть еще одна мысль. До переустановки NT сидел на диске FAT. Сейчас на NTFS. Может быть проблема в этом.


Max Zyuzin   (2002-09-11 11:58:00) [4]

Тогда, кажется какие то проблеммы с идентификацией пользователя, которым лезешь к скрипту (БД).


vlad40   (2002-09-11 11:37:00) [5]

Попробовал алиас. Та же ошибка. В том то и загвоздка, что просто так все работает без проблем. Просто так, это значит - локальная аппликация. Кроме WEB аппликации, у меня есть еще и локальная для административных нужд. С теми же путями и именами. Она работает!


Max Zyuzin   (2002-09-11 11:35:00) [6]

Попробуйте, много переделывать не придется... хотя не уверен поможет или нет.


REA   (2002-09-11 11:33:00) [7]

А просто так файл открывается? Разбей проблему на части. Попробуй получить каталог в виде строки, скопировать ее руками в SQL explorer и посмотреть откроется ли.
Алиас в данном случае может помочь только если каталог написан с "\" на конце, а надо без или наоборот.


vlad40   (2002-09-11 11:27:00) [8]

Нет, без алиасов. Думаете, попробовать алиас?


Max Zyuzin   (2002-09-11 11:21:00) [9]

Упс... я имел ввиду файлам :)


vlad40   (2002-09-11 11:21:00) [10]

Использую paradox 7. Доступ тоже дал для этих папок. Может кому-то недодал? Хотя уже, кажется дал всем, кому можно, и кому нельзя.


Max Zyuzin   (2002-09-11 11:19:00) [11]

Странно... тогда, думаю все зарыто в пермиссиях к фалам баз данных.
А алиасами вы пользуетесь?


REA   (2002-09-11 11:16:00) [12]

Возможно проблема в версии таблицы парадокса - младшие версии (типа 5) не поддерживают длинные имена, большое количество записей (при маленьком размере сегмента) и т.п. Используй на всякий случай paradox level 7. Должен быть доступ к этому каталогу по чтению и записи (класть файлы блокировки lck) и доступ к каталогу где лежит pdxusers.net (или типа того) тоже по чтению и записи.


vlad40   (2002-09-11 11:07:00) [13]

Пытался. :-( Он выдает путь который я ему пишу. Он правильный, потому, что если пишу путь заведомо неверный, дает ошибку "directory not exists". А вот какое имя самой базы (Table1.TableName), ему все равно. При выполнении Table1.Active=True выдает "Invalid file name" при любом имени. Так что здесь дело не в путях, а где-то еще.


Max Zyuzin   (2002-09-11 11:01:00) [14]

В общем смысл в том, что надо получить и посмотреть куда именно пытается обратится скрипт.


Max Zyuzin   (2002-09-11 10:59:00) [15]

Попробуйте в теле CGI скрипта сделать такую вещь - пусть он не конектится сразу к БД, а просто выводит на экран путь, к базе данных (куда планирует законектится), тогда я думаю многое встанет на свои места. Table1.Directory по моему... если я не путаю.


vlad40   (2002-09-11 10:44:00) [16]

Нет, на других машинах я IIS не настраиваю, просто кладу в расшареннцю папку. И работает (но только на машинах с win9x !!!???). Ваше "глупое предложение" я проверял. Не работает!!! Вообще я видимо чего-то не понимаю. Но если одну и ту же программку я запускаю через IIS или просто напрямую, она по-разному реагирует на пути. Программа, запущенная через IIS, не видит расшаренные папки на NT машинах, даже на сомой себе.


Max Zyuzin   (2002-09-11 10:34:00) [17]

Да.. довольно странно. А под кладу на другие компы в локальной сетиподразумевается что вы просто переписываете теблицы в расшареную папочку на другой машине, или ставите на другую машину IIS (извиняюсь я в предидущем ответе напутал, прочитал как ISA) и там настраиваете все?
А вы алиасы точно правильно прописываете?
Глупое предложение - расшарьте на сервере папочку и пропишите алиасы именно к ней... через \\Имя_Сервера\...


vlad40   (2002-09-11 10:25:00) [18]

Пользуюсь простым TTable. Локальные адреса мне, в принципе, не нужны, так как БД размещена на том же сервере, что и CGI. Просто я для проверки пытался класть ее в другие места. Так вот если кладу на другие компы в локальной сети, то работает. А если лежит на том же сервере, что и CGI, то "Invalid file name". Странно, да? Причем раньше все работало. Переустановили NT, и после этого началось. Поэтому я и думаю, что что-то в праваъ или в IIS.


Max Zyuzin   (2002-09-11 10:14:00) [19]

Недавно писал CGI скрипты для работы с InterBase по этому думаю смогу помочь, но для начала пара вопросов:
Какими компонентами пользуешься для доступа к НД?
У тебя что прокси используется для хождения по локальным адресам? Странно у нас обычно отключают это и ИМХО IIS тут непричем.


Наверх

Титульная страница Поиск, карта сайта Написать письмо