Exemplo n.º 1
0
// **************************************************************************
// Connect ()
//
// Description:
//	Attempts to connect to the OPC Server with specified ProgID and machine name.
//
// Parameters:
//  CString		&strProgID			ProgID of OPC server.
//	CString		&strRemoteMachine	Machine name OPC server is on.
//
// Returns:
//  bool - true if success.
// **************************************************************************
bool CKServer::Connect (CString &strProgID, CString &strRemoteMachine)
	{
	ASSERT (m_bConnected == FALSE);

	// Update our prog ID and machine name member variables:
	SetProgID (strProgID);
	SetRemoteMachine (strRemoteMachine);

	// Connect:
	return (Connect ());
	}
Exemplo n.º 2
0
INT CSysParams::RefreshSysParams(CDBUtil &db, BOOL bLog)
{
	USES_CONVERSION;

	INT nRet = ERR_UNKONW_ERROR;

	if (Lock(LOCK_WAIT_TIMEOUT))
	{
		try
		{
			TCHAR buf[500];
			basic_string<TCHAR> szMsg(_T("Refresh system parameters:"));
			_variant_t value;

			value = db.GetSingleValue(_T("SELECT Convert(int,Value) FROM GeneralParams WHERE Category='System' AND Name='QueryInterval'"));
			if ((db.GetLastErrorCode() == ERR_SUCCESS) && (value.vt == VT_I4))
			{
				SetQueryInterval(value.lVal);
				if (bLog)
				{
					_stprintf_s(buf, sizeof(buf) / sizeof(buf[0]), _T("\n\tQuery internal: %d ms"), m_lQryInterval);
					szMsg += buf;
				}
			}
			else
			{
				if (bLog)
				{
					_stprintf_s(buf, sizeof(buf) / sizeof(buf[0]), _T("\n\tQuery internal: use default value %d ms"), DEFAULT_QRY_INTERVAL);
					szMsg += buf;
				}
			}

			value = db.GetSingleValue(_T("SELECT Rtrim(Ltrim(Value)) FROM GeneralParams WHERE Category='System' AND Name='OPCServerProgID'"));
			if ((db.GetLastErrorCode() == ERR_SUCCESS) && (value.vt == VT_BSTR))
			{
				LPWSTR pTemp = (BSTR)value.pbstrVal;
				m_wszOPCServerProgID = pTemp;
				if (bLog)
				{
					szMsg += _T("\n\tOPC Server ProgID: ");
					szMsg += pTemp;
				}
			}

			value = db.GetSingleValue(_T("SELECT Rtrim(Ltrim(Value)) FROM GeneralParams WHERE Category='System' AND Name='RemoteMachine'"));
			if ((db.GetLastErrorCode() == ERR_SUCCESS) && (value.vt == VT_BSTR))
			{
				LPWSTR pTemp = (BSTR)value.pbstrVal;
				SetRemoteMachine(pTemp);
				if (bLog)
				{
					szMsg += _T("\n\tRemote Machine: ");
					szMsg += W2T(pTemp);
				}
			}

			std::basic_string<TCHAR> szValue;
			if (db.GetSingleStringValue(szValue, DEFAULT_SHIFT_START_1, _T("SELECT Rtrim(Ltrim(Value)) FROM GeneralParams WHERE Category='System' AND Name='ShiftStartTime1'")) > 0)
			{
				LPCTSTR pTemp = szValue.c_str();
				CTimerTaskManager::ParseTimeString(pTemp, m_tStartTimeOfShift1);
				if (bLog)
				{
					szMsg += _T("\n\tShiftStartTime1: ");
					szMsg += pTemp;
				}
			}

			if (db.GetSingleStringValue(szValue, DEFAULT_SHIFT_START_1, _T("SELECT Rtrim(Ltrim(Value)) FROM GeneralParams WHERE Category='System' AND Name='ShiftStartTime2'")) > 0)
			{
				LPCTSTR pTemp = szValue.c_str();
				CTimerTaskManager::ParseTimeString(pTemp, m_tStartTimeOfShift2);
				if (bLog)
				{
					szMsg += _T("\n\tShiftStartTime2: ");
					szMsg += pTemp;
				}
			}

			m_bKeepDbConnection = db.GetSingleBoolValue(_T("SELECT Rtrim(Ltrim(Value)) FROM GeneralParams WHERE Category='System' AND Name='KeepDbConnection'"), m_bKeepDbConnection);
			if (bLog)
			{
				szMsg += _T("\n\tKeep DB Connection: ");
				szMsg += (m_bKeepDbConnection ? _T("True") : _T("False"));
			}

			BOOL bFlag = db.GetSingleBoolValue(_T("SELECT Rtrim(Ltrim(Value)) FROM GeneralParams WHERE Category='System' AND Name='EnableLog'"), m_bEnableLog);
			if (bLog)
			{
				szMsg += _T("\n\tEnable log: ");
				szMsg += (bFlag ? _T("True") : _T("False"));
			}

			EnableLog(bFlag);

			if (bLog)
				g_Logger.ForceLog(szMsg.c_str());
		}
		catch (...) {}

		Unlock();
		nRet = ERR_SUCCESS;
	}
	else
	{
		nRet = ERR_LOCK_TIMEOUT;
	}

	return nRet;
}