int OdbcStaticConnection::do_rdbi_connect (rdbi_context_def* rdbi_context, int& id) { FdoStringP csStr = UnitTestUtil::GetConnectionString(Connection_NoDatastore); if (rdbi_context->dispatch.capabilities.supports_unicode == 1) return (rdbi_connectW (rdbi_context, csStr, L"", L"", &id)); else return (rdbi_connect (rdbi_context, csStr, "", "", &id)); }
int MySqlGeometryTests::do_rdbi_connect (const char* dataStoreName, const char* userName, const char* userPassword) { int cursor; int ret; ret = rdbi_connect ( mRdbiContext, UnitTestUtil::GetEnviron("service"), UnitTestUtil::GetEnviron("username"), UnitTestUtil::GetEnviron("password"), &mId); if (RDBI_SUCCESS == ret) { // condition the connection to use MyIsam tables by default cursor = -1; try { CPPUNIT_ASSERT_MESSAGE ("rdbi_est_cursor failed", RDBI_SUCCESS == rdbi_est_cursor (mRdbiContext, &cursor)); CPPUNIT_ASSERT_MESSAGE ("rdbi_sql failed", RDBI_SUCCESS == rdbi_sql (mRdbiContext, cursor, "set storage_engine=MyIsam")); CPPUNIT_ASSERT_MESSAGE ("rdbi_execute failed", RDBI_SUCCESS == rdbi_execute (mRdbiContext, cursor, 1, 0)); CPPUNIT_ASSERT_MESSAGE ("rdbi_fre_cursor failed", RDBI_SUCCESS == rdbi_fre_cursor (mRdbiContext, cursor)); cursor = -1; } catch (CppUnit::Exception exception) { const char *msg = exception.what (); char message[RDBI_MSG_SIZE]; rdbi_get_msg (mRdbiContext); #ifdef _WIN32 WideCharToMultiByte ( CP_THREAD_ACP, 0, mRdbiContext->last_error_msg, (int)wcslen(mRdbiContext->last_error_msg), message, RDBI_MSG_SIZE, NULL, NULL); #else wcstombs ( message, mRdbiContext->last_error_msg, RDBI_MSG_SIZE); #endif strcat (message, ": "); strcat (message, msg); if (-1 != cursor) rdbi_fre_cursor (mRdbiContext, cursor); throw CppUnit::Exception (message); } catch (...) { if (-1 != cursor) rdbi_fre_cursor (mRdbiContext, cursor); CPPUNIT_FAIL ("unexpected exception encountered"); } } return (ret); }