The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"OpenNews: Использование прямых SQL запросов в Си коде"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [Проследить за развитием треда]

"OpenNews: Использование прямых SQL запросов в Си коде"  
Сообщение от opennews on 08-Дек-06, 13:08 
В статье "Embedded SQL with Pro*C (http://www.oreillynet.com/pub/a/databases/2006/12/07/embedded-sql-with-pro-c.html)" рассказывается о пре-компиляторе Pro*C, преобразующем исходные тексты с "Pro*C" вставками (по сути обычные SQL вставки) в нормальный Си/Си++ код.


Ниже наглядные примеры единого использования переменных и прямых
SQL запросов:


       int a;
       EXEC SQL SELECT salary INTO :a
                 FROM Employee
                 WHERE SSN=876543210;
       printf("The salary is %d\n", a);

       int x; char *y; int z;
       EXEC SQL INSERT INTO emp(empno, ename, deptno)
           VALUES(:x, :y, :z);

       int emp_number[50];
       char emp_name[50][11];
       EXEC SQL INSERT INTO emp(emp_number, name)
           VALUES (:emp_number, :emp_name);


URL:
Новость: http://www.opennet.dev/opennews/art.shtml?num=9147

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Использование прямых SQL запросов в Си коде"  
Сообщение от Аноним on 08-Дек-06, 13:08 
извращение еще то. Кого учили - не пользоваться макросами, а они...уф епть
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Использование прямых SQL запросов в Си коде"  
Сообщение от Аноним on 08-Дек-06, 13:27 
Ну нафиг, зачем это нужно если можно все сделать наглядней без этого извращения ?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Использование прямых SQL запросов в Си коде"  
Сообщение от Vladimir Kozlov email on 08-Дек-06, 13:53 
Ужас. Я думал что ESQL закопали и надпись на камне написали, а оно еще барахтается...
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Использование прямых SQL запросов в Си коде"  
Сообщение от Jelis email(ok) on 08-Дек-06, 15:26 
А можно факты - чем такой подход плох?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Использование прямых SQL запросов в Си коде"  
Сообщение от Vladimir Kozlov on 08-Дек-06, 15:32 
> А можно факты - чем такой подход плох?

Да собственно... можно бифштекс покрошить в борщ, туда же вывалить салат и слить компот, а потом через край тарелки это выхлебать... Цель достигнута - запас калорий в организме пополнен :)


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Использование прямых SQL запросов в Си коде"  
Сообщение от Jelis email(ok) on 08-Дек-06, 15:44 
Я факты просил, а не ваши упражнения в красноречии.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Использование прямых SQL запросов в Си коде"  
Сообщение от Slavik email(??) on 08-Дек-06, 16:12 
> Я факты просил, а не ваши упражнения в красноречии.

Nedostatok ispolzovanija Embedded SQL: SQL cod vinesen za predeli basi dannix. Embedded SQL bil sozdan v to vrema (i dla togo vremeni) kogda nebilo hranimix procedur.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Использование прямых SQL запросов в Си коде"  
Сообщение от Vladimir Kozlov email on 08-Дек-06, 16:47 
> Nedostatok ispolzovanija Embedded SQL: SQL cod vinesen za predeli basi dannix. Embedded SQL bil sozdan v to vrema (i dla togo vremeni) kogda nebilo hranimix procedur.

+1.
Ибо в нормально спроектированном приложении есть набор объектов-оберток над хранимыми процедурами, где всё препарится и компилится на серваке. А остальной код приложения работает с этими обертками, причем за счет серверной компиляции максимально эффективным образом.
Разбросанные тут и там по коду куски ESQL можно терпеть максимум в приложении у которого 2 таблички на mysql живут, далее это превратится в нечто монстроидальное и трудноуправляемое.
Впрочем, отдельные умельцы по 15000 строк в void main(){} запхнуть умудряются... им не привыкать...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Использование прямых SQL запросов в Си коде"  
Сообщение от Woody email(??) on 08-Дек-06, 17:40 
> Впрочем, отдельные умельцы по 15000 строк в void main(){} запхнуть умудряются... им не привыкать...

Это вы о mplayer? ;)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. "Использование прямых SQL запросов в Си коде"  
Сообщение от Аноним on 10-Дек-06, 00:07 
есть же обёртки над sql не на sql а уже на прикладном ЯП.
вот для них же.
это не то же самое что и код sql пополам с Си в разных частях приложения.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Использование прямых SQL запросов в Си коде"  
Сообщение от oleg email(??) on 08-Дек-06, 16:03 
Факты? Я пробовал пополнять калории описанным способом. Отказать.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "Использование прямых SQL запросов в Си коде"  
Сообщение от ram_scan on 08-Дек-06, 18:24 
А чем плохо ? Однажды уже было, никому не мешало. Ежедневную одноразовую горбуху на пару запросов скодить - самое то. А с дуру можно ясный день и член сломать... Каждой задаче - свой инструмент.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "Использование прямых SQL запросов в Си коде"  
Сообщение от bodun on 08-Дек-06, 18:50 
Небольшие утилиты писать - самое то. Будет быстро и понятно. Вместо огорода ADO или ODBC.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "Использование прямых SQL запросов в Си коде"  
Сообщение от мимоход on 08-Дек-06, 19:14 
небольшие утилиты писать - самое то на perl или того проще - на *sh, а такие извраты - ф топку.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "Использование прямых SQL запросов в Си коде"  
Сообщение от AlexDaos (??) on 09-Дек-06, 09:28 
А что, сложно API соответствующей БД юзать? Там же тоже просто запросы будут, просто в сответствующей функции. А то учим Си, потом учим ESQL потом пишем, потом думаем где напароли. Все едино после прогона через препроцессор будет код для конкретной БД по идее.

А ADO или ODBC эт для ситуации когда БД непонятно какую юзать надо... ИМХО.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "Использование прямых SQL запросов в Си коде"  
Сообщение от Николай Самохвалов on 09-Дек-06, 12:45 
Основной плюс - это возможность делать проверки SQL-кода до компиляции.

Ясное дело, что есть минусы. Но вот этот плюс, на мой взгляд, даёт право на жизнь данному подходу. Это подтверждается тем, что "встроенный SQL" описан и в тексте стандартов (в какой-то из его частей).

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

19. "Использование прямых SQL запросов в Си коде"  
Сообщение от Vladimir Kozlov on 11-Дек-06, 14:15 
>Основной плюс - это возможность делать проверки SQL-кода до компиляции.
>
>Ясное дело, что есть минусы. Но вот этот плюс, на мой взгляд,
>даёт право на жизнь данному подходу. Это подтверждается тем, что "встроенный
>SQL" описан и в тексте стандартов (в какой-то из его частей).
>


проверки sql-кода сишным компилером... эхехе, а если я элементарно в имени поля буковку попутаю - это как, отдетектится? :)


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

18. "Использование прямых SQL запросов в Си коде"  
Сообщение от oleg (??) on 11-Дек-06, 01:49 
этот Pro*C гыдота та ещё. что более-менее простое на нём налабать можно, но не более. в своё время поковырял его и перешёл на OTL, коим остался вполне доволен.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру