подключиться к SQL в C ++? - PullRequest
       6

подключиться к SQL в C ++?

1 голос
/ 07 марта 2011

Я хочу подключиться к SQL с помощью C ++.

У меня установлен g ++ (sparc-sun-solaris2.10-g ++) на моей машине с UNIX, и версия sql - SQL * Plus: выпуск 10.2.0.4.0.

Я хочу написать код на C ++, с помощью которого я хочу подключиться к SQL.

Используя сценарий оболочки, я легко могу подключиться к БД, но, используя c ++, я не знаю, как это сделать.

Спасибо.

У меня есть этот кусок кода, но он не работает, пока я компилирую :

ошибка:

Создание библиотеки libr9.so 20110308_083331

ld: fatal: file /tlmsr1/tlm/rt/kimi/proj/c9rprOG/crp/templates.a: открыть не удалось: нет такого файла или каталога ld: fatal: file /tlmsr1/tlm/rt/kimi/proj/c9rprOG/crp/templates.a: открыть не удалось: такого файла или каталога нет ld: fatal: Ошибки обработки файлов. Нет вывода в файл /tlmsr1/tlm/rt/kimi/proj/c9rprOG/lib/libcrpr9.so gmake: * [libr9.so] Ошибка 1

код:

#include <stdlib.h>
#include <occi.h>
#include <iostream>
using namespace oracle::occi;
using namespace std;



class testOcci
{
  private:

  Environment *env;
  Connection *conn;

  public:

 testOcci (string user, string passwd, string db)
  {
    env = Environment::createEnvironment (Environment::DEFAULT);
    conn = env->createConnection (user, passwd, db);
  }

  /**
   * Destructor for the occi test case.
   */
  ~testOcci ()
  {
    env->terminateConnection (conn);
    Environment::terminateEnvironment (env);
  }  // end of ~testOcci ()

};

int main(void)
{
string user="sbsdb6";
string passwd="sbsdb6";
string db="ABPDV";

testOcci *demo = new testOcci (user, passwd, db);
cout << "Creation Successful" << endl;
delete (demo);
cout << "Deletion Successful" << endl;

return 0;
}

Ответы [ 4 ]

4 голосов
/ 07 марта 2011

Поскольку кажется, что вы имеете в виду Oracle , когда говорите sql Я думаю, вы хотите попробовать OCCI. В этом случае эта ссылка может помочь.

Но ... использование OCCI совершенно отличается от подключения к Oracle с помощью сценария оболочки через SQL*Plus.

2 голосов
/ 07 марта 2011

Вы также можете взглянуть на этих двух библиотек. OTL и SOCI . Я использовал оба в некоторых проектах, и они отлично работали для меня.

1 голос
/ 07 марта 2011

Вам необходимо использовать библиотеки ODBC для подключения и извлечения данных из РСУБД. Это кажется хорошей отправной точкой.

0 голосов
/ 07 марта 2011

Попробуйте класс с именем CDatabase. Создайте соединение с базой данных. И функция с именем ExecuteSQL (), с помощью которой вы можете выполнять запросы. Для получения результатов у вас есть класс CResultSet. Если вы обнаружите затруднения, напишите здесь .. я вышлю вам образец.

спасибо Арун П.

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