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

Вниз

Не подцепляется dbf-файл!   Найти похожие ветки 

 
cvg   (2006-10-23 14:24) [0]

В Инспекторе вроде всё прописал, но при запускВопрос от чайника: е программы на экран вылазит приглашение ввести логин и пароль. Поскольку у меня их не предумотрено (а собственно, нельзя ли отключить появление этого приглашения?), я просто нажимаю "ОК", на что мне вылазит сообщение "Project .... faised exception class EDBEngineError with message "Invalid table name". ...". И в чем может быть причина???


 
sniknik ©   (2006-10-23 14:48) [1]

> нельзя ли отключить появление этого приглашения
можно, есть такое свойство loginprompt в том компоненте коннекта который ты используешь

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


 
cvg   (2006-10-23 15:01) [2]

Пользуюсь Table(DBTables), и никакого loginprompt"а там вижу... :(

А почему же table name вдруг invalid, если в самом инспекторе все подключается путем? Правда в FieldsEditor"е (который вылазит по правой кнопке мыши), почему-то ни одного поля БД нет :((


 
Desdechado ©   (2006-10-23 15:32) [3]

Если ты используешь просто TTable, то при этом неявно создается TDatabase. Лучше создавать его явно, чтобы можно было настроиться в нем. А уж через него подключать TTable.
И помни, что для DBF базой данных является папка с таблицами.


 
cvg   (2006-10-23 16:13) [4]

Ну вот, вставил я еще TDatabase, но все равно подключения не происходит :((.

Параметры TDatabase:

Connected -- False
DatabaseName -- viele (это -- имя директория с DBF-файлами)
Name -- Database1

И уже при попытке создать Connected = true на экран влызит приглашение ввести логин и пароль, а когда я просто жму ОК, появляется сообщение об ошибке: "Invalid configuration paprameter. Alias: viele". Какими тут могут быт логин с паролем, если у DBF"ов их в принципе нет???


 
Плохиш ©   (2006-10-23 16:18) [5]


> cvg   (23.10.06 16:13) [4]

goto [1]


 
Ketmar ©   (2006-10-23 16:20) [6]

>[5] Плохиш(c) 23-Oct-2006, 16:18
>goto [1]
всё. бесконечный цикл получился.


 
cvg   (2006-10-23 16:22) [7]

В смысле? Если я устанавливаю Loginrompt = False, то это же сообщение об ошибке вылазит просто без запроса логина и пароля! Так что что-то ей, похоже, все же нужно... Но вот что???


 
Desdechado ©   (2006-10-23 16:26) [8]

> "Invalid configuration paprameter. Alias: viele"
настроить алиас


 
cvg   (2006-10-23 16:32) [9]

Та-ак... Вместо DriverName выбрал AliasName, теперь само подключение вроде как прошло, но вот в TTanble в пар-ре TableName почему-то список имен DBF-файлов не показывается :((


 
Ketmar ©   (2006-10-23 16:35) [10]

вопрос не в тему: а зачем эти DBF? FireBird -- и все дела...


 
Desdechado ©   (2006-10-23 16:39) [11]

> список имен DBF-файлов не показывается
значит папка не содержит таблиц


 
Anatoly Podgoretsky ©   (2006-10-23 16:52) [12]


> DatabaseName -- viele (это -- имя директория с DBF-файлами)

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


 
cvg   (2006-10-24 07:51) [13]

Набрал полный путь, но ничего не произошло :(. И вообще, мне что-то непонятно, каким образом происходит связь между TDatabase и TTable... IMHO в TTable где-то должно быть указано имя TDatabase как источника данных... Но вот где?


 
Elen ©   (2006-10-24 08:08) [14]


> Набрал полный путь, но ничего не произошло

Не забыл выставить Table.Tabletype в ttFoxPro? (помоему ttDefault это для парадокса)


 
cvg   (2006-10-24 08:19) [15]

У меня стоит TableType = ttDbase.

Вроде, по логике, если в TDatabase параметр Name = Database1, то в TTable параметр DatabaseName должен равняться ему же?


 
Elen ©   (2006-10-24 08:33) [16]


>  то в TTable параметр DatabaseName должен равняться ему
> же?


Разве? DatabaseName - это либо полный путь либо алиас (могу ошибаться)


> У меня стоит TableType = ttDbase.

Попробуй TableType = ttFoxPro, ИМХО...


 
cvg   (2006-10-24 08:46) [17]

Ну да, сейчас DatabaseName = dbfview5 (имя драйвера). Но тогда получается, что никакой связи между TTable и TDatabase просто нет...

Насчет TabeType... Проба выбрать ttFoxPro ни к каким изменениям не привела (да ИМХО и не могла привести, т.к. FoxPro и DBase саму DBF-структуру обрабатывают идентично, а разница только в индексах, которых у меня просто нет).


 
Elen ©   (2006-10-24 09:01) [18]


>  Но тогда получается, что никакой связи между TTable и TDatabase
> просто нет...

Читать [3] внимательно!

>  DatabaseName = dbfview5 (имя драйвера).

Впервые слышу чтоб это свойство принимало драйвер! Путь или алиас - это да. (Или я чего-то не знаю 8) )


 
cvg   (2006-10-24 09:10) [19]

Ну да, не совсем логично, согласен... Но это наиболее логичное из того, что мне вываливалось, когда я раскрывал список. А теперь я перечитал хелп (Use DatabaseName to specify the name of the database to associate with this dataset component. DatabaseName should match the name of a database component used in the application.) и вроде получается так, что там должно быть прописано то имя, что присвоено компоненту TDatabase -- то есть, "Database1". Нов этом случае попытка раскрыть список TableName вызывает сообщение "Unknown databese. Alias: Database1"...


 
Anatoly Podgoretsky ©   (2006-10-24 09:37) [20]

cvg   (24.10.06 07:51) [13]
Загадками говорите, а программирование наука точная


 
cvg   (2006-10-24 09:53) [21]

Причем "загадки", если всё не удается написать чтение DBF"а???

На основании http://fizmat.vspu.ru/citforum/programming/application/data_acc2.shtml (хоть это и по С++) пришел к заключению, что в TDatabase параметр DatabaseName должен быть равен отвлеченному имени, например "Database1". Тогда в TTable в списке на DatabaseName уже вываливается "Database1". Но в TabeleName списка всё равно не получается :(( Хотя в FieldDefs список полей нормально появляется...


 
Elen ©   (2006-10-24 10:24) [22]


> cvg

А зачем тебе TDatabase использовать? Подключайся установкой полного пути к папке с таблицами в Ttable.DatabaseName.


 
cvg   (2006-10-24 10:32) [23]

А мне выше в это же ветке посоветовали -- чтобы избавиться от запроса ввести логин и пароль.


 
Elen ©   (2006-10-24 10:36) [24]


> чтобы избавиться от запроса ввести логин и пароль.

Внимательно читать [12]!


 
cvg   (2006-10-24 10:48) [25]

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


 
Desdechado ©   (2006-10-24 11:01) [26]

почитал бы ты букварь, барин
методички какие-нибудь или книжки, коих в сети просто валом


 
Elen ©   (2006-10-24 11:05) [27]


>  если иначе связи между TDatabase и TTable просто не будет?

Зачем тебе эта связь?


 
cvg   (2006-10-24 11:17) [28]


> Desdechado ©   (24.10.06 11:01) [26]
> почитал бы ты букварь, барин
> методички какие-нибудь или книжки, коих в сети просто валом

А то я не в сети это всё нахожу, что ли?


> >  если иначе связи между TDatabase и TTable просто не будет?
>
>
> Зачем тебе эта связь?


Чтобы избавиться от запроса логин-пароль. Desdechado в [3] посоветовал.


 
ЮЮ ©   (2006-10-24 11:20) [29]

И все-таки попробуй и у DataBase и у Table указать один и тот же DataBaseName - абсолютный путь.
При этом убей первый DataBase. Создай новый. Пропиши в DataBaseName абсолютный путь. Поизменяй Connected, отключи loginpromp.

Теперь у  Table укажи тот же самый  DataBaseName - абсолютный путь. Выбери TabeName. Поизменяй Асtive


 
Elen ©   (2006-10-24 11:22) [30]

Чтобы избавиться от запроса логин-пароль. Desdechado в [3]
посоветовал как вариант


 
cvg   (2006-10-24 11:54) [31]

Ладно, короче, параметры в инспекторе TDatabase такие:
AliasName = файлы dBase
Connected = True
DatabaseName = Database1
(при попытке указать прямой путь Connected в True не ставился -- выдавал ошибку)

Параметры в инспекторе TTable:

Active = True
DatabaseName = Database1
TableType = ttDBase
В TableName при этом список таблиц не вываливается :(. При попытке в DatabaseName прописать путь к директорию, список таблиц вываливается, но при выполнении влет по ошибке типа "BDE не смог загрузить драйвер.


 
Elen ©   (2006-10-24 11:59) [32]


> cvg

ВУХ!!! Я ж тебе говорю не используй TDataBase.
В Ttable.DatabaseName выставляй полный путь. Никакого логина спрашивать не будет


 
Anatoly Podgoretsky ©   (2006-10-24 12:08) [33]


> А мне выше в это же ветке посоветовали -- чтобы избавиться
> от запроса ввести логин и пароль.

А откуда в ДБА пароль? Изродясь не было, ты наверно, что то не то используешь, я же говорю загадками говоришь, а информации крохи.


 
Anatoly Podgoretsky ©   (2006-10-24 12:10) [34]


> Чтобы избавиться от запроса логин-пароль. Desdechado в [3]
> посоветовал.

Ничего подобного Desdechado не советовал в 3, у нас наверно разные ветки.


 
Anatoly Podgoretsky ©   (2006-10-24 12:12) [35]


> cvg   (24.10.06 11:54) [31]
> Ладно, короче, параметры в инспекторе TDatabase такие:
> AliasName = файлы dBase

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


 
Anatoly Podgoretsky ©   (2006-10-24 12:13) [36]

Elen ©   (24.10.06 11:59) [32]
Можно и нужно и это же самое посоветовал Desdechado в 3, а не какой то пароль и его обход, Не будет явно использовать, так система его неявно создаст, но уже со своими понятиями по параметрам.


 
Anatoly Podgoretsky ©   (2006-10-24 12:15) [37]


> Elen ©   (24.10.06 11:59) [32]
> В Ttable.DatabaseName выставляй полный путь. Никакого логина
> спрашивать не будет


Будет, еще как будет, а проблема в неверном выборе драйвера. Ну не только, есть и посерьезнее причины, но не будем о грустном.


 
Elen ©   (2006-10-24 12:18) [38]


> Будет, еще как будет

У меня ж не спрашивает


 
Anatoly Podgoretsky ©   (2006-10-24 12:20) [39]

Elen ©   (24.10.06 12:18) [38]
Ну не буду я же тебя распрашивать как у тебя сделано, я и так в курсе насчет твой квалификации, так что это лишнее.


 
sniknik ©   (2006-10-24 12:31) [40]

> Ладно, короче, параметры в инспекторе TDatabase такие:
ну наконец то.... !!!!

> AliasName = файлы dBase
используешь ODBC алиас, наверняка он не сконфигурирован, зайди в администрирование компа (панель управления) запусти "Источники данных (ODBC)" найди "файлы dBase" открой и пропиши явно путь базы.

Elen ©   (24.10.06 11:59) [32]
> В Ttable.DatabaseName выставляй полный путь.
тогда будет использован "найтиве" BDE драйвер, уверен что это нужно? (если его использовать приглашения ввода пароля не было бы с самого начала)



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

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

Наверх




Память: 0.57 MB
Время: 0.038 c
4-1151253289
pizz_pizz
2006-06-25 20:34
2006.11.12
работа с сертификатами


2-1161872990
Riply
2006-10-26 18:29
2006.11.12
Последовательный доступ к памяти


15-1161350780
Petr V.Abramov
2006-10-20 17:26
2006.11.12
Заказчики государственные vs коммерческие


15-1161949686
TIF
2006-10-27 15:48
2006.11.12
Совместимость с Windows 98


2-1161633221
5Stas5
2006-10-23 23:53
2006.11.12
Как сделать многострочный LISTBOX используя только WIN API