Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Как на VC подключить FireBird БД


Автор: OAK 13.7.2005, 17:15
Есть база данных FireBird, как не через ODBC Setup ее подключить к программе, если использовать сетуп все получается

Пример использования с сетупом.
NAME - это и есть подключенная база через сетуп

Код

ca.Create(_T("STATIC"), "Hi", WS_CHILD | WS_VISIBLE, CRect(0, 0, 400, 200), this, 111);
    ca.ShowWindow(SW_HIDE);
    ca.SetConnectionString("PROVIDER=MSDASQL.1;uid=SYSDBA;pwd=masterkey;data sourse=NAME;");
    ca.SetRecordSource("SELECT * FROM TEST"); 
    ca.Refresh(); 
    cr=ca.GetRecordset(); 
    long i=cr.GetRecordCount(); 
    char buffer[255];
    itoa(i,(char*)&buffer,10);
    AfxMessageBox(buffer);




Мне необходимо подключать разные базы, и каждую базу гонять через сетуп, просто не возможно. Или возможно?

без сетупа делаю так:

Код

SQLGetInstalledDrivers(szBuf, cbBufMax, &cbBufOut);

      do
    {
        if (strstr(pszBuf, "Firebird") != 0)
        {
            sDriver = CString(pszBuf);
            break;
        }
        pszBuf = strchr(pszBuf, '\0') + 1;
    }
    while (pszBuf[1] != '\0');
    
    sDsn.Format("ODBC;DRIVER={%s};DSN='';DBQ=%s;uid=SYSDBA;pwd=masterkey;", sDriver, sFile);
               database.Open(NULL, false, false, sDsn);


но база при открытии выдает ошибку


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)