|
|
|
Fox <-> API <-> Firebird/MySQL
|
|||
|---|---|---|---|
|
#18+
Вопрос глухой, но всё таки спрошу: Как в VFP, посредством API, организовать доступ/модификацию базы данных на сервере под Firebird или MySQL? Проблема в том, что не могу найти информацию по этому конкретному вопросу, чтобы начать ваять клиента. fbclient.dll и libmySQL.dll - прекрасно описаны, но как реализовать доступ к их процедурам на фоксе, мозгов не хватает. ODBC/ADO - крайний, и очень нежелательный способ, который как раз вопросов не вызывает. По теме нашёл: http://mirko.narod.ru/foxmysql/ - FPD доступ через сокеты. http://www.universalthread.com/wconnect/wc.dll?2,2,21954 (firebird_api.zip) - не реализованы select/insert/update :) Если кто занимался этим вопросом, знает как это сделать или знает где можно поиметь про это инфу прошу откликнуться. Спасибо. (chilin пёс rambler тчк ru) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2007, 01:27 |
|
||
|
Fox <-> API <-> Firebird/MySQL
|
|||
|---|---|---|---|
|
#18+
Если можно, поделись, почему не подходит ODBC? Я пользуюсь им уже несколько лет и все работает без особых проблем, тормозов особых не ощущается. Можно попробовать два варианта: - через контрол Winsock.ocx - аналгично http://mirko.narod.ru/foxmysql/. только все будет проще реализовать; - написать библиотеку-переходник в виде FLL для работы с интерфейсами на C. С наилучшими пожеланиями - Sea_Cat ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2007, 09:54 |
|
||
|
Fox <-> API <-> Firebird/MySQL
|
|||
|---|---|---|---|
|
#18+
to Sea_Cat: Несколько причин: Не основной, но одной из главных возможностей клиента, предполагается постоянный экспорт в базу больших dbf (до 50000 тыс. записей), а затем работа мелкими запросами. Через API, экпорт будет быстрее. Предполагается много безграмонтных "администраторов" и разных ОС - соответственно нужен полный автомат под разные ОС: драйвера ODBC, DNS в реестр и т.п., В случае с API - только EXE,DLL,INI + фоксовые библ. в одном каталоге. Сейчас клиент в стадии "тех задания", ждёт старта. Если ничего ненайду по сабжу то придётся идти этим путём, хоть и не интересно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2007, 10:58 |
|
||
|
Fox <-> API <-> Firebird/MySQL
|
|||
|---|---|---|---|
|
#18+
Chilinto Sea_Cat: Несколько причин: Не основной, но одной из главных возможностей клиента, предполагается постоянный экспорт в базу больших dbf (до 50000 тыс. записей), а затем работа мелкими запросами. ... Если ты хочешь быстро, то надо индивидуально разбираться с каждым сервером, а не искать универсальный интерфейс. Вставка по одной записи однозначно будет медленнее, чем сразу большой кусок. В MS-SQL можно очень быстро вставить командой BULK INSERT указав ей заранее подготовленный файлик. Думаю в Firebird и MySQL есть что-то подобное. А чем MS-SQL не угодил? Есть заблуждение что он тормоз, только я тестил одни и те же данные в MS-SQL и MySQL, запрос средней сложности (5-таблиц из них две 70 и 100 тыс.записей), я с трудом добился (менял индексы, текст запроса) чтобы MySQL был на 20-30% медленнее MS-SQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2007, 11:15 |
|
||
|
Fox <-> API <-> Firebird/MySQL
|
|||
|---|---|---|---|
|
#18+
Dima TЕсли ты хочешь быстро, то надо индивидуально разбираться с каждым сервером, а не искать универсальный интерфейс. Вопроса об универсальности и не стоит. Между серверами я поставил "ИЛИ". Интересует фоксовый клас/prg/пример/информация по работе через API с любым из этих серверов. И дело не в только в скорости экспорта, как я уже писал. Dima TА чем MS-SQL не угодил? FireBird и MySQL мне знакомы. Есть инструменты по работе с ними. Они уже установленны и сконфигурированы. Под ними работают знакомые мне проги (не на Foxpro). Против MS-SQL ничего против не имею, как не против любого другого сервера. Если у вас есть информация или рабочие примеры кода на фоксе, которые взаимодействуют с MS-SQL или другим сервером по API, с удовольствием бы посмотрел на них. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2007, 14:10 |
|
||
|
Fox <-> API <-> Firebird/MySQL
|
|||
|---|---|---|---|
|
#18+
Chilin Dima TЕсли ты хочешь быстро, то надо индивидуально разбираться с каждым сервером, а не искать универсальный интерфейс. Вопроса об универсальности и не стоит. Между серверами я поставил "ИЛИ". Интересует фоксовый клас/prg/пример/информация по работе через API с любым из этих серверов. И дело не в только в скорости экспорта, как я уже писал. Dima TА чем MS-SQL не угодил? FireBird и MySQL мне знакомы. Есть инструменты по работе с ними. Они уже установленны и сконфигурированы. Под ними работают знакомые мне проги (не на Foxpro). Против MS-SQL ничего против не имею, как не против любого другого сервера. Если у вас есть информация или рабочие примеры кода на фоксе, которые взаимодействуют с MS-SQL или другим сервером по API, с удовольствием бы посмотрел на них. Так ODBC и есть один из вариантов DataBase API для работы с реляционными базами данных. Чем вас не устраивает VFP + ODBC + MS SQL Server 2000 (2005)? С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2007, 14:33 |
|
||
|
Fox <-> API <-> Firebird/MySQL
|
|||
|---|---|---|---|
|
#18+
Реализация интерфейса через API позволит несколько ускорить обмен с СУБД, но не факт, что это позволит повысить существенно быстродействие при импорте баз, если импорт будет идти одиночными записями. IMPORT DATA INFILE ... будет существенно быстрей. Кроме того, если если на клиентских машинах стоят разные ОС, то подобрать соответствующие версии драйверов ODBC будет проще, чем разбираться с особенностями работы того же Winsock в разных версиях Windows. Кроме того, при работе с API приходится много работать с массивами в памяти, а фокс с ними работает достаточно медленно. С моей точки зрения разработка собственного API - это не Фоксовский путь. Задача в том, чтобы используя сильные стороны и Фокса и FIrebird/MySQL, обойти те моменты, где возникают тормоза. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2007, 15:27 |
|
||
|
Fox <-> API <-> Firebird/MySQL
|
|||
|---|---|---|---|
|
#18+
Aleksey-K Так ODBC и есть один из вариантов DataBase API для работы с реляционными базами данных. Чем вас не устраивает VFP + ODBC + MS SQL Server 2000 (2005)? С уважением, Алексей. Меня он устроит если, как я уже писал, не смогу найти/сделать (похоже к тому идёт) интерфейса, работающего с сервером без ODBC, который меня не устраивает, по причинам о которых я уже писал. Колеги, я знаю что есть варианты реализации клиент-сервера через стандартный канал. И понимаю что он в 99% случаев предпочтителен. Чтобы пресечь такие предложения, я в первом посте указал на это. Этот 1% ИМХО попался мне. Для Delphi и C, подобные готовые средства существуют и успешно используются, в том числе и мной. Задача - сделать то же на фоксе(только на нём, и ни на чём другом) - достучаться до базы, используя только собственные API функции. А вопросы какой сервер лучше какой хуже, какой подход для каких задач оптимален, это в других ветках уже обсуждались достаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2007, 15:57 |
|
||
|
Fox <-> API <-> Firebird/MySQL
|
|||
|---|---|---|---|
|
#18+
Вот есть сайт на английском. Может, что-нибудь накопаешь. Хотя, вряд ли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2007, 16:29 |
|
||
|
Fox <-> API <-> Firebird/MySQL
|
|||
|---|---|---|---|
|
#18+
Код: plaintext Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2007, 22:28 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34416182&tid=1589650]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
167ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 261ms |
| total: | 540ms |

| 0 / 0 |
