Как выполнить операторы SQL из программы на C? - PullRequest
2 голосов
/ 08 мая 2009

Как я могу выполнить операторы SQL из программы на Си. Например, я хочу отобразить вывод

select * from EMP

из программы c. Нужно ли делать это с помощью хранимых процедур? Нужны ли мне какие-либо библиотечные файлы для этого? Мой компилятор C - Tiny C Compiler, и в настоящее время у меня SQL Server Studio 2005. Предлагаются также предложения для платформы Unix / AIX + GCC.

Заранее спасибо ..

Ответы [ 4 ]

4 голосов
/ 08 мая 2009

Старое, но надежное решение для * ix, а также Windows и для всех (значимых) серверов баз данных - ODBC . Я рекомендую Easysoft tutorial . Согласно this может потребоваться вручную установить драйвер ODBC для SQL Server с компакт-диска.

2 голосов
/ 13 ноября 2016

С C вы, вероятно, захотите использовать Microsoft ODBC API: http://msdn.microsoft.com/en-us/library/ms714562(v=VS.85).aspx

Я интенсивно использую это в своем классе CSQLBinding , который содержит множество примеров использования. Помимо инкапсулирующего класса (который, очевидно, является только C ++), все функции полностью совместимы с простым C.

0 голосов
/ 13 августа 2009

Я сейчас использую следующий метод, объясненный мной в этом вопросе. Он удовлетворяет моим требованиям.

0 голосов
/ 08 мая 2009

Существует два основных способа доступа к базам данных из программ на Си. Более широко используемым является ODBC (иногда называемый CLI), как уже упоминал Мэтью Флашен. Это, пожалуй, самый разумный метод для использования SQL Server в Windows. Существуют другие похожие интерфейсы для других СУБД - примечательный OCI для Oracle.

Альтернативный механизм называется Embedded SQL, примером которого являются такие продукты, как IBM Informix ESQL / C (часть IBM Informix ClientSDK). В этих системах есть прекомпилятор, который принимает такие операторы, как:

EXEC SQL CREATE TABLE x (y INTEGER NOT NULL);

и организует правильные вызовы интерфейса. Очевидно, что с входными и выходными переменными это экономит некоторые усилия - прекомпилятор генерирует код для обработки списков переменных и т. Д., Которые ODBC и т. Д. Требуют от вас явного кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...