Форум: "Начинающим";
Текущий архив: 2006.11.12;
Скачать: [xml.tar.bz2];
ВнизНе подцепляется 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 драйвер, уверен что это нужно? (если его использовать приглашения ввода пароля не было бы с самого начала)
← →
Elen © (2006-10-24 12:33) [41]
> Anatoly Podgoretsky
А чего с DBF мудрить? Я только ставлю полный путь в DatabaseName, выбираю в TableName таблицу и больше ничего не меняю - в результате все работает.
← →
sniknik © (2006-10-24 12:40) [42]> А чего с DBF мудрить?
твоя правда, чего с ним мудрить? попросту не использовать да и все... так я и делаю. в смысле для баз, как формат обмена он почти идеален, во много лучше популяризируемого ныне xml.
← →
Anatoly Podgoretsky © (2006-10-24 13:07) [43]Elen © (24.10.06 12:33) [41]
Так ты же используешь Native драйвер, а он черт знает что.
← →
Elen © (2006-10-24 13:24) [44]
> а он черт знает что
Зато этот "черт" работает нормально. По крайней мере у меня никогда не было таких проблем как у автора
← →
cvg (2006-10-24 13:47) [45]Итак, могу сознаться, что ODBC у меня сконфигурирован (иначе бы у меня предыдущий экспорт из другой системы в DBF не шел). Собственно, потому и хочу использовать ODBC. что раз уж там он сработал, так и тут пусть сработает. Других конкретных советов вроде не прозвучало, кроме как забить на ODBC... и пользоваться, видимо, ADO?
← →
Anatoly Podgoretsky © (2006-10-24 14:16) [46]
> и пользоваться, видимо, ADO?
Разве такое предложение было, а в АДО случайно не ODBC ли собрался использовать.
← →
cvg (2006-10-24 14:25) [47]А хз. Вот, кстати, чего интересного еще нашел. При кликом правой кнопкой мыши на компоненте TDatabase и выборе пункта Explore удается найти искомый dbf-файл MM и просмотреть его структуру. То же самое и в пункте Explore компонента TTable, но вот в его же пункте Fields Editor список полей пуст... Что бы это значило?
← →
cvg (2006-10-24 17:20) [48]Кстати, когда я в компоненте TTable в параметре DatabaseName выбираю имя ODBC-соединения, то первый раз происходит вызов запроса логина-пароля, а когда указываю там то же имя, что и в саком же поле компонента TDatabase, вызова запроса не происходит. Значит, между собой они точно связываются. А сама прога стала сейчас срубаться с сообщением об ошибке "Invalid table name"...
Страницы: 1 2 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.11.12;
Скачать: [xml.tar.bz2];
Память: 0.57 MB
Время: 0.051 c