|
|
@@ -18,6 +18,7 @@ CWxAdoPool::CWxAdoPool()
|
|
|
|
|
|
CWxAdoPool::~CWxAdoPool()
|
|
|
{
|
|
|
+ m_strDBType.Empty();
|
|
|
m_strDBAccount.Empty();
|
|
|
m_strDBName.Empty();
|
|
|
m_strDBSource.Empty();
|
|
|
@@ -25,13 +26,14 @@ CWxAdoPool::~CWxAdoPool()
|
|
|
DestroyAllDBConnections();
|
|
|
}
|
|
|
|
|
|
-DWORD CWxAdoPool::InitializePool(IN LPCTSTR lpDBSource, IN CONST DWORD &dwDBPort, IN LPCTSTR lpDBAccount, IN LPCTSTR lpPassWord, IN LPCTSTR lpDBName, IN CONST INT &nMinConn /* = 1 */, IN CONST INT &nMaxConn /* = 5 */)
|
|
|
+DWORD CWxAdoPool::InitializePool(IN LPCTSTR lpDBType, IN LPCTSTR lpDBSource, IN CONST DWORD &dwDBPort, IN LPCTSTR lpDBAccount, IN LPCTSTR lpPassWord, IN LPCTSTR lpDBName, IN CONST INT &nMinConn /* = 1 */, IN CONST INT &nMaxConn /* = 5 */)
|
|
|
{
|
|
|
if ( !lpDBSource || lpDBSource[0] == _T('\0') || !lpDBName || lpDBName[0] == _T('\0') )
|
|
|
{
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+ m_strDBType = lpDBType;
|
|
|
m_strDBSource = lpDBSource;
|
|
|
m_dwDBPort = dwDBPort;
|
|
|
m_strDBAccount = lpDBAccount;
|
|
|
@@ -202,17 +204,43 @@ pAdoObj CWxAdoPool::InitAConnection()
|
|
|
TCHAR szConnString[MAX_PATH] = {0};
|
|
|
if (m_dwDBPort != 0)
|
|
|
{
|
|
|
- if ( m_strDBAccount.IsEmpty() )
|
|
|
- _stprintf_s(szConnString, MAX_PATH, DB_SW_CONN_WITH_PORT, m_strDBSource, m_dwDBPort,m_strDBName);
|
|
|
- else
|
|
|
- _stprintf_s(szConnString, MAX_PATH, DB_SS_CONN_WITH_PORT,m_strDBSource, m_dwDBPort, m_strDBName, m_strDBAccount, m_strPassWord);
|
|
|
+ if ( m_strDBType.CompareNoCase(_T("mssql")) == 0 )
|
|
|
+ {
|
|
|
+ if ( m_strDBAccount.IsEmpty() )
|
|
|
+ _stprintf_s(szConnString, MAX_PATH, DB_SW_CONN_WITH_PORT, m_strDBSource, m_dwDBPort,m_strDBName);
|
|
|
+ else
|
|
|
+ _stprintf_s(szConnString, MAX_PATH, DB_SS_CONN_WITH_PORT,m_strDBSource, m_dwDBPort, m_strDBName, m_strDBAccount, m_strPassWord);
|
|
|
+ }
|
|
|
+ else if (m_strDBType.CompareNoCase(_T("mysql")) == 0)
|
|
|
+ {
|
|
|
+ _stprintf_s(szConnString, MAX_PATH, _T("DRIVER=MariaDB ODBC 3.0 Driver;SERVER=%s;PORT=%d;DATABASE=%s;UID=%s;PWD=%s;"), m_strDBSource, m_dwDBPort, m_strDBName, m_strDBAccount, m_strPassWord);
|
|
|
+ }
|
|
|
+ else if (m_strDBType.CompareNoCase(_T("psql")) == 0)
|
|
|
+ {
|
|
|
+ }
|
|
|
+ else if (m_strDBType.CompareNoCase(_T("sqlite3")) == 0)
|
|
|
+ {
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- if ( m_strDBAccount.IsEmpty() )
|
|
|
- _stprintf_s(szConnString, MAX_PATH, DB_SW_CONN_WITHOUT_PORT, m_strDBSource, m_strDBName);
|
|
|
- else
|
|
|
- _stprintf_s(szConnString, MAX_PATH, DB_SS_CONN_WITHOUT_PORT, m_strDBSource, m_strDBName, m_strDBAccount, m_strPassWord);
|
|
|
+ if ( m_strDBType.CompareNoCase(_T("mssql")) == 0 )
|
|
|
+ {
|
|
|
+ if ( m_strDBAccount.IsEmpty() )
|
|
|
+ _stprintf_s(szConnString, MAX_PATH, DB_SW_CONN_WITHOUT_PORT, m_strDBSource, m_strDBName);
|
|
|
+ else
|
|
|
+ _stprintf_s(szConnString, MAX_PATH, DB_SS_CONN_WITHOUT_PORT, m_strDBSource, m_strDBName, m_strDBAccount, m_strPassWord);
|
|
|
+ }
|
|
|
+ else if (m_strDBType.CompareNoCase(_T("mysql")) == 0)
|
|
|
+ {
|
|
|
+ _stprintf_s(szConnString, MAX_PATH, _T("DRIVER=MariaDB ODBC 3.0 Driver;SERVER=%s;PORT=3306;DATABASE=%s;UID=%s;PWD=%s;"), m_strDBSource, m_strDBName, m_strDBAccount, m_strPassWord);
|
|
|
+ }
|
|
|
+ else if (m_strDBType.CompareNoCase(_T("psql")) == 0)
|
|
|
+ {
|
|
|
+ }
|
|
|
+ else if (m_strDBType.CompareNoCase(_T("sqlite3")) == 0)
|
|
|
+ {
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
try
|