안녕하세요 초보개발자입니다.
윈도우7 64bit환경에서 visual studio 2005 개발툴로 개발하였고
32bit환경 Release로 컴파일하여 exe파일을 만들어서 테스트하고 있습니다.
헌데 64Bit에서 잘 접속하던 DB가 Win7 32Bit환경이나 XP에서는 연결이 되지 않는 문제가 있습니다.ㅠㅠ
혹시 OLEDB를 사용할때 64Bit가 아닌 다른 환경에서 추가적으로 작업해줄 부분이 있는건가요? 아니면 다른 방법을 사용해야 하는건가요?
고수님들 부탁드립니다.
DB접속부분 소스 보여드리겠습니다.
BOOL CDBProc::DBConnect(char *szDBServerIP, char *szDBName, char *szUserID, char *szUserPW)
{
if(m_bConn)
{
AfxMessageBox("DB is already connected!\n");
return TRUE;
}
char szCon[256];
memset(szCon, 0x00, sizeof(szCon));
sprintf(szCon, "Provider=SQLOLEDB.1;Data Source=%s; Initial catalog=%s;User ID=%s;Password=%s;",szDBServerIP, szDBName, szUserID, szUserPW);
//Initialize the COM Library
CoInitialize(NULL);
m_hResult = m_pConn.CreateInstance((__uuidof(Connection)));
if(FAILED(m_hResult))
{
sprintf(m_ErrorMsg,"Error instantiating Connection object");
AfxMessageBox(m_ErrorMsg);
CoUninitialize();
return FALSE;
}
try
{
m_hResult = m_pConn->Open(szCon,"","",0);
if(FAILED(m_hResult))
{
sprintf(m_ErrorMsg,"Error Opening Database object using ADO _ConnectionPtr");
AfxMessageBox(m_ErrorMsg);
CoUninitialize();
return FALSE;
}
}
catch(_com_error &e)
{
CString strErr;
strErr.Format("%d", e);
AfxMessageBox(strErr);
return FALSE;
}
/*
*/
m_bConn = TRUE;
return TRUE;
}
현재 빨갛게 표시한 부분에서 에러로 빠집니다...
Path나 ID, PWD는 모두 정상적으로 입력된 상태이며 다른거라곤 OS차이 뿐인데...
고수님들 부탁드립니다...