powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / EmbedetSQL и ODBC?
4 сообщений из 29, страница 2 из 2
EmbedetSQL и ODBC?
    #36368414
Фотография pureproft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim2000kolchanovВ PowerBuilder используется embedded sql, в том числе поверх odbc.
Совсем не в кассу.


В ASA есть ESQL в виде препроцессора к C. Само собой, это нативный интерфейс, не ODBC.

чего мне только yandex в ответ на ASA не сказал....
Неужели нет обобщённого opensor.. ESQL C (или D,E,F...,Z шутка) ведь любые нативные интерфейсы почти ко всем RDBMS похожи друг на друга
...
Рейтинг: 0 / 0
EmbedetSQL и ODBC?
    #36368558
Фотография pureproft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pureproft_модpureproftвстречал ли кто EmbedetSQL поверх ODBC, и не только в Си а и в других языках?
препроцессор Clipper + OCI к Oracle
SQL как в PL/SQL
а ссылочку на препроцессор можно? есть подозрение в xHarbour подменить Oracle на что угодно можно...
Огромное спасибо за наводку... ссылочка конечно не помешает на готовые макросы клипера, ...

Вспомнил ... я ведь сам начинал писать (в терминах клипера пользовательские команды) для NWSQL и HyTech, но потом ушёл(вернулся) в чистый си, а с рождением win95 случилось страшное мне подарили личную коробку с русским Access 2.0, который не пользовал и не пользую как хранилище, но активно пользую в качестве графмордо,отчёто,строительстве...(2007конечно)...
...
Рейтинг: 0 / 0
EmbedetSQL и ODBC?
    #36368946
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pureproftа ссылочку на препроцессор можно? есть подозрение в xHarbour подменить Oracle на что угодно можно...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
#command ALTER <*txt*>        => cl_sql('ALTER '+#<txt>)
#command BEGIN [WORK]         => cl_begin()
#command CLOSE <cursor>       => cl_close(<cursor>)
#command CLOSE DATABASE       => cl_stop()
#command COMMIT [WORK]        => cl_commit()
#command CONNECT <txt> [<mc> [<ml>]] => cl_init(<txt>,<mc>,<ml>)
#command CREATE <*txt*>       => cl_sql('CREATE '+#<txt>)
#command DESCRIPTION <arr> [FROM] <table>  => cl_desc(#<table>,<arr>)
#command DESCRIPTION <arr> [FROM] (<table>) => cl_desc(<table>,<arr>)

#command DELETE [FROM] <table> [WHERE <*txt*>]                              ;
                              => cl_delete(#<table>,#<txt>)
#command DELETE [FROM] (<table>) [WHERE <*txt*>]                            ;
                              => cl_delete(<table>,#<txt>)
#command DELETE [FROM] <table> [WHERE (<txt>)]                              ;
                              => cl_delete(#<table>,<txt>)
#command DELETE [FROM] (<table>) [WHERE (<txt>)]                            ;
                              => cl_delete(<table>,<txt>)

#command DISCONNECT           => cl_stop()
#command DROP <*txt*>         => cl_sql('DROP '+#<txt>)
#command FETCH <cursor> <nn>  => cl_set(<cursor>,<nn>)
#command FETCH <cursor> [NEXT] => cl_next(<cursor>)
#command FETCH <cursor> PREVIOUS => cl_prev(<cursor>)
#command GRANT <*txt*>        => cl_sql('GRANT '+#<txt>)
#command INITILIAZE <arr> [FROM] <table>   => cl_clear(#<table>,<arr>)
#command INITILIAZE <arr> [FROM] (<table>) => cl_clear(<table>,<arr>)
#command INSERT [INTO] <*txt*> => cl_ins1(#<txt>)
#command INSERT [INTO] <table> FROM <*txt*>                               ;
                              => cl_ins2(#<table>,#<txt>)
#command INSERT [INTO] (<table>) FROM <*txt*>                             ;
                              => cl_ins2(<table>,#<txt>)
#command LOCK TABLE <table> <*txt*>                                           ;
                              => cl_sql('LOCK TABLE '+#<table>+' '+#<txt>)
#command LOCK TABLE (<table>) <*txt*>                                         ;
                              => cl_sql('LOCK TABLE '+<table>+' '+#<txt>)
#command ON ERROR STOP        => cl_onerr(.t.)
#command ON ERROR CONTINUE    => cl_onerr(.f.)

#command OPEN [<h:HOLD>] <cursor> [FOR]                                       ;
         SELECT [<sc:DISTINCT,UNIQUE>] <fl,...> INTO <vl,...> FROM <tl,...>   ;
                [WHERE <*txt*>] [ORDER BY <*ord*>];
=> <cursor>:=cl_open(<cursor>,<.sc.>,#<fl>,#<vl>,#<tl>,#<txt>,#<ord>,<.h.>)
#command OPEN [<h:HOLD>] <cursor> [FOR]                                       ;
         SELECT [<sc:DISTINCT,UNIQUE>] <fl,...> INTO <vl,...> FROM (<table>)  ;
                [WHERE <*txt*>] [ORDER BY <*ord*>];
=> <cursor>:=cl_open(<cursor>,<.sc.>,#<fl>,#<vl>,<table>,#<txt>,#<ord>,<.h.>)

#command OPEN [<h:HOLD>] <cursor> [FOR]                                       ;
         SELECT [<sc:DISTINCT,UNIQUE>] <fl,...> INTO <vl,...> FROM <tl,...>   ;
                [WHERE (<txt>)] [ORDER BY <*ord*>];
=> <cursor>:=cl_open(<cursor>,<.sc.>,#<fl>,#<vl>,#<tl>,<txt>,#<ord>,<.h.>)
#command OPEN [<h:HOLD>] <cursor> [FOR]                                       ;
         SELECT [<sc:DISTINCT,UNIQUE>] <fl,...> INTO <vl,...> FROM (<table>)  ;
                [WHERE (<txt>)] [ORDER BY <*ord*>];
=> <cursor>:=cl_open(<cursor>,<.sc.>,#<fl>,#<vl>,<table>,<txt>,#<ord>,<.h.>)

#command OPEN [<h:HOLD>] <cursor> [FOR] <str> =>                              ;
                              <cursor>:=cl_open1(<cursor>,<str>,<.h.>)

#command REVOKE <*txt*>       => cl_sql('REVOKE '+#<txt>)
#command ROLLBACK [WORK]      => cl_roll()
#command ROLLBACK TO <*txt*>  => cl_sql('ROLLBACK TO '+#<txt>)

#command SELECT [<sc:DISTINCT,UNIQUE>] <fl,...> INTO <vl,...> FROM <tl,...>    ;
                [WHERE <*txt*>] [ORDER BY <*ord*>];
                         => cl_select(<.sc.>,#<fl>,#<vl>,#<tl>,#<txt>,#<ord>)
#command SELECT [<sc:DISTINCT,UNIQUE>] <fl,...> INTO <vl,...> FROM (<table>)   ;
                [WHERE <*txt*>]  [ORDER BY <*ord*>];
                         => cl_select(<.sc.>,#<fl>,#<vl>,<table>,#<txt>,#<ord>)
#command SELECT [<sc:DISTINCT,UNIQUE>] <fl,...> INTO <vl,...> FROM <tl,...>    ;
                [WHERE (<txt>)] [ORDER BY <*ord*>];
                         => cl_select(<.sc.>,#<fl>,#<vl>,#<tl>,<txt>,#<ord>)
#command SELECT [<sc:DISTINCT,UNIQUE>] <fl,...> INTO <vl,...> FROM (<table>)   ;
                [WHERE (<txt>)] [ORDER BY <*ord*>];
                         => cl_select(<.sc.>,#<fl>,#<vl>,<table>,<txt>,#<ord>)

#command SAVEPOINT <*txt*>    => cl_sqli('SAVEPOINT '+#<txt>)
#command STOP                 => cl_stop()
#command UNLOCK TABLE <table> => cl_sql('UNLOCK TABLE '+#<table>)
#command UNLOCK TABLE (<table>) => cl_sql('UNLOCK TABLE '+<table>)

#command UPDATE <table> SET <set,...> [WHERE <*txt*>]                         ;
                              => cl_upd1(#<table>,#<set>,#<txt>)
#command UPDATE (<table>) SET <set,...> [WHERE <*txt*>]                       ;
                              => cl_upd1(<table>,#<set>,#<txt>)
#command UPDATE <table> SET <set,...> [WHERE (<txt>)]                         ;
                              => cl_upd1(#<table>,#<set>,<txt>)
#command UPDATE (<table>) SET <set,...> [WHERE (<txt>)]                       ;
                              => cl_upd1(<table>,#<set>,<txt>)

#command UPDATE <table> FROM <arr> [WHERE <*txt*>]                            ;
                              => cl_upd2(#<table>,<arr>,#<txt>)
#command UPDATE (<table>) FROM <arr> [WHERE <*txt*>]                          ;
                              => cl_upd2(<table>,<arr>,#<txt>)
#command UPDATE <table> FROM <arr> [WHERE (<txt>)]                            ;
                              => cl_upd2(#<table>,<arr>,<txt>)
#command UPDATE (<table>) FROM <arr> [WHERE (<txt>)]                          ;
                              => cl_upd2(<table>,<arr>,<txt>)

memvar status
но основная работа по синтаксическому анализу в отдельном модуле cl_*
...
Рейтинг: 0 / 0
EmbedetSQL и ODBC?
    #36369079
Фотография pureproft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо огромное!!!!!!!!!!!
В очередной раз на этом форуме пишу: ВСЁ НОВОЕ ХОРОШО ЗАБЫТОЕ СТАРОЕ!!!!!!!!!
...
Рейтинг: 0 / 0
4 сообщений из 29, страница 2 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / EmbedetSQL и ODBC?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]