通过ATL建立了一个简单的服务:
SC_HANDLE hService = ::CreateService(
hSCM, m_szServiceName, m_szServiceName,
SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS|SERVICE_INTERACTIVE_PROCESS,
SERVICE_AUTO_START, SERVICE_ERROR_NORMAL,
szFilePath, NULL, NULL, NULL, NULL, NULL);数据库连接代码是:
BOOL ADOConn::OnInitADOConnBJ()
{
// 初始化OLE/COM库环境
::CoInitialize(NULL);
_bstr_t strConnect;
try
{
// 创建Connection对象
m_pConnection.CreateInstance("ADODB.Connection");
// 设置连接字符串,必须是BSTR型或者_bstr_t类型
strConnect = "Provider=SQLOLEDB.1;Data Source="+DB_RBServer \
+";Initial Catalog="+DB_RBDatabase+";User Id="+DB_RBUser+";Password="+DB_RBPwd+";"; //设置查询超时时间
m_pConnection->PutConnectionTimeout(10);
m_pConnection->PutCommandTimeout(60);
m_pConnection->Open(strConnect,"","",adModeUnknown);
}
// 捕捉异常
catch(_com_error e)
{
// 显示错误信息
bConnectStatus = FALSE;
_Module.WriteReport("ServiceInfo",CurDir+(LPCTSTR)e.Description()+(LPCTSTR)strConnect);
return FALSE;
}
bConnectStatus = TRUE;
return TRUE;
}
本机的数据库连接没任何问题,局域网内的SQl服务器怎么都连不上,是不是连接字符串或哪个参数不对呀?
SC_HANDLE hService = ::CreateService(
hSCM, m_szServiceName, m_szServiceName,
SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS|SERVICE_INTERACTIVE_PROCESS,
SERVICE_AUTO_START, SERVICE_ERROR_NORMAL,
szFilePath, NULL, NULL, NULL, NULL, NULL);数据库连接代码是:
BOOL ADOConn::OnInitADOConnBJ()
{
// 初始化OLE/COM库环境
::CoInitialize(NULL);
_bstr_t strConnect;
try
{
// 创建Connection对象
m_pConnection.CreateInstance("ADODB.Connection");
// 设置连接字符串,必须是BSTR型或者_bstr_t类型
strConnect = "Provider=SQLOLEDB.1;Data Source="+DB_RBServer \
+";Initial Catalog="+DB_RBDatabase+";User Id="+DB_RBUser+";Password="+DB_RBPwd+";"; //设置查询超时时间
m_pConnection->PutConnectionTimeout(10);
m_pConnection->PutCommandTimeout(60);
m_pConnection->Open(strConnect,"","",adModeUnknown);
}
// 捕捉异常
catch(_com_error e)
{
// 显示错误信息
bConnectStatus = FALSE;
_Module.WriteReport("ServiceInfo",CurDir+(LPCTSTR)e.Description()+(LPCTSTR)strConnect);
return FALSE;
}
bConnectStatus = TRUE;
return TRUE;
}
本机的数据库连接没任何问题,局域网内的SQl服务器怎么都连不上,是不是连接字符串或哪个参数不对呀?
; Everything after this line is an OLE DB initstring
Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=sa;Initial Catalog=test;Data Source=192.168.0.11