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

Вниз

Подключение к полю типа Binary   Найти похожие ветки 

 
Каяна   (2007-12-02 13:00) [0]

Доброго времени суток!
Проблема такая, создаю в Database Desktop таблицу table1.dbf с полем "BIN" типа Binary. Подключаюсь к таблице через ADOQuery (select * from table1). Однако функция AdoQuery1.FieldByName("BIN") не находит этого поля, выдается сообщение "ADOQuery1: Field "BIN" not found.". Поле нужно для хранения массивов произвольной длины. Как подключиться к этому полю?


 
Anatoly Podgoretsky ©   (2007-12-02 13:22) [1]

> Каяна  (02.12.2007 13:00:00)  [0]

Что такое dbf ?
Смущает тип Binary
По запросу, наверно обращаешься к другой table1


 
Правильный_Вася   (2007-12-02 15:22) [2]

какой провайдер используешь?


 
sniknik ©   (2007-12-02 15:22) [3]

Jet действительно не понимает полей типа Graphic в парадоксе, и Binary в dBase... попросту игнорирует.

> Как подключиться к этому полю?
использовать родные OLEDB/ODBC провайдеры... если найдешь конечно. (или сменить ADO на чтото другое)


 
Anatoly Podgoretsky ©   (2007-12-02 15:31) [4]

Я что то не заметил возможность создания Binary в Database Desktop, а автор молчит, что такое dbf


 
Каяна   (2007-12-03 01:32) [5]

> Что такое dbf ?
dbf таблица базы dBase (написано в теме поста).

> наверно обращаешься к другой table1
Подключаюсь именно к этой таблице, остальные поля видны.

> какой провайдер используешь?
в поле провайдер написано MSDASQL.1, при подключении использовала Alias "dBASE Files".

>использовать родные OLEDB/ODBC провайдеры
что значит родные?

>сменить ADO на чтото другое
подскажите, что еще можно использовать, одно из условий база должна работать без каких либо инсталяций на рабочий компьютер, именно поэтому отказалась от BDE

кстати, при подключении через BDE поле находится.


 
sniknik ©   (2007-12-03 02:00) [6]

> в поле провайдер написано MSDASQL.1, при подключении использовала Alias "dBASE Files".
ODBC DSN "dBASE Files" только посредник, он сам использует Jet.
проверь, сделай запрос вида "SELECT * FROM НесуществующаяТаблица" (т.е. вместо имени любой набор букв, но не имя реального файла) и приведи дословно получившуюся ошибку.

> что значит родные?
написанные специально для него, "Ms. OLEDB Provider for SQL Server" это родной для MSSQL, Jet родной для Access, и т.д., вот и ищи такой для dBase, на их сайте (если такой есть и если они соизволили написать провайдер/движок для своей базы...).

> одно из условий база должна работать без каких либо инсталяций на рабочий компьютер,
о, ну все, значит поиски обломались не начавшись... найденный провайдер нужно бы было инсталлировать т.к. он был бы не из числа распространенных. (а впрочем любой по правильному надо инсталлировать)

> именно поэтому отказалась от BDE
почему тогда не отказались и от dBase? зачем половинчатые решения? раз уж взяли половинку нового то и вторую обновляйте, или обе оставляйте старые...


 
Anatoly Podgoretsky ©   (2007-12-03 09:23) [7]

> Каяна  (03.12.2007 01:32:05)  [5]

В теме письма указано как dBase, так и FoxPro, кроме того dBase разные бывают, но с помощью Database Desktop - это поле можно создать только для dBase for Windows, а вот можно ли им воспользоваться в Дельфи это вопрос.
Что можно сделать

1. назвать поле иначе, может это имя резервированое
2. попробовать тип Мемо, все равно они должны преобразоваться в ftBlob
3. проверить настройки БДЕ и алиаса, должен быть правильно установлен параметр LEVEL


 
Anatoly Podgoretsky ©   (2007-12-03 09:26) [8]


> > что значит родные?
> написанные специально для него, "Ms. OLEDB Provider for
> SQL Server" это родной для MSSQL, Jet родной для Access,
>  и т.д., вот и ищи такой для dBase, на их сайте (если такой
> есть и если они соизволили написать провайдер/движок для
> своей базы...).

Вроде нет провайдера для dBase, а ODBC/JET видимо этот тип не понимают.
Хотя это легко проверить, если сходить на сайт производителей, сайт вроде пока есть.


 
Каяна   (2007-12-04 03:01) [9]

Не знала, что Jet это для Access :(

На сайте dbase.com упоминается ODBC драйвер, но вроде он идет в составе всего пакета dBase plus, короче как его скачать не нашла.


 
Anatoly Podgoretsky ©   (2007-12-04 08:49) [10]

Что из

> Anatoly Podgoretsky ©   (03.12.07 09:23) [7]


Попробовала?


 
Каяна   (2007-12-04 10:35) [11]

все попробовала
остановилась на 2-м пункте. Задача решена.

последние вопросы, чем отличаются поля типа OLE, Binary и Memo?
поля типа OLE видны. Есть ограничения на их использование?


 
sniknik ©   (2007-12-04 11:00) [12]

> остановилась на 2-м пункте. Задача решена.
не торопись... проверь на рисунке/бинарном файле у которого есть #0 внутри  "текста".

> последние вопросы, чем отличаются поля типа OLE, Binary и Memo?
названием (дальтоник чтоли? 3 буквы от 4-х или 6-ти отличить не можеш ;), и еще тем как по этому названию будут интерпретированы данные конкретным движком.

> Есть ограничения на их использование?
а как же, например типа OLE в dBase нет (может в новом и есть не проверял, имеется в виду то что обычно используют), т.е. ограничением будет невозможность использования (либо конвертация в подобие)...
вообще вам бы определиться, что именно вы используете, т.к. подобные вопросы "в общем" о конкретном, обычно смысла не имеют.
так к примеру тот же Binary в одной интерпретации конкретным движком это аналог блоба с размером до 2 гигабайт, в другой отрезок бинарных данных до 8 000 байт.


 
Anatoly Podgoretsky ©   (2007-12-04 11:15) [13]

Каяна   (04.12.07 10:35) [11]
Означает, что штатный ODBC драйвер не понимает такой тип данных.
"OLE, Binary и Memo" - забудь о них для dBase - используй только Мемо и не работай с визуальным применением типа TDbMemo только закачка в свои компоненты, например TBitmap и другие, в зависимости от назначения.
Иначе будут проблемы.


 
Каяна   (2007-12-05 01:57) [14]

действительно, #0 служит признаком конца блока :( всё что после него обрезается

помогите! как от этого избавиться?


 
Германн ©   (2007-12-05 02:13) [15]


> Каяна   (05.12.07 01:57) [14]
>
> действительно, #0 служит признаком конца блока :( всё что
> после него обрезается
>
> помогите! как от этого избавиться?
>

Забыть DBD. Ну и заняться делом. Начать читать книжки!


 
Каяна   (2007-12-05 02:43) [16]

2 Германн
Ай молодца, помог


 
sniknik ©   (2007-12-05 09:05) [17]

> Ай молодца, помог
ну а какой помощи ты ждешь? ситуацию тебе расписали, варианты предложили. но ты упорно цепляешься за именно не рабочую для тебя связку, и ждешь чуда сделающего ее рабочей...
Хоттабыча тебе надо... если не хочеш заниматься делом и читать книжки.



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

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

Наверх





Память: 0.49 MB
Время: 0.006 c
4-1188562548
Krants
2007-08-31 16:15
2008.05.04
GetTextExtentPoint32 при


2-1207636459
nicky000
2008-04-08 10:34
2008.05.04
NULL


2-1207543581
Gore
2008-04-07 08:46
2008.05.04
Ошибка в таблицах FoxPro


2-1207563530
_ozzy_
2008-04-07 14:18
2008.05.04
Как активизировать окно моего приложения?


9-1169641924
k8
2007-01-24 15:32
2008.05.04
координаты мышки в пространстве





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский