質問

を設置しましたSQL Server2008R2マ(私の機運windows server2003) 一部のテーブル内にdb fireingトリガー時の挿入、削除、更新が発生し) トリガの結果が一工程triggersReceiver.exe 共有メモリを介して)を待ちをトリガーとする。問題は、SQL Server2008r2に認識されないこのプロセスのエラーを取得し時にトリガーの火災triggersReceiver.exe ラグインが表示されない。もっruning!!!!!は一面similiar問題は前に??

このコードは、"コネクタdll"の一部を実行する時にもトリガが発(このコードを実行しよ延納手続き):すべての機能はwinbase.h(windows dll)

////////Defenitions///////////////////////////////////////////////////////
#define XP_TRIGGER_SHARED_MEMEORY   L"Global\\xp_trigger_shared_memory"
#define XP_TRIGGER_PROCESS_EVENT    L"Global\\xp_trigger_process_event"
#define XP_TRIGGER_DONE_EVENT        L"Global\\xp_trigger_done_event"
////////////////////////////////////////////////////////////////////////////

この機能はFALSEを返します(あまりないと思いますかょうか---)

BOOL CTriggerGatewayConnector::Init()
{
::InitializeCriticalSection(&m_CS);

m_hMap = ::OpenFileMappingW(FILE_MAP_WRITE, FALSE, XP_TRIGGER_SHARED_MEMEORY);
if (m_hMap == NULL)
{

    return FALSE;
}

m_pSqlTrigInfo = (SqlTriggerInfo*)::MapViewOfFile(
                    m_hMap, FILE_MAP_WRITE, 0, 0,sizeof  (SqlTriggerInfo));
if (m_pSqlTrigInfo == NULL)
{
    return FALSE;
}

m_hProcess = ::CreateEventW(NULL, FALSE, FALSE, XP_TRIGGER_PROCESS_EVENT);
if (m_hProcess == NULL)
{
    return FALSE;
}

m_hDone = ::CreateEventW(NULL, FALSE, FALSE, XP_TRIGGER_DONE_EVENT);
if (m_hDone == NULL)
{
    return FALSE;
}

return TRUE;
}

Thnanks, Liran.

役に立ちましたか?

解決

の問題を解決!!!とすることができ許可の問題です。時にトリガを焼いうファイルへの書き込みXP_TRIGGER_SHARED_MEMEORY とができまm_hMap=::OpenFileMappingW(FILE_MAP_WRITE,FALSEの場合、XP_TRIGGER_SHARED_MEMEORY);if(m_hMap==NULL) { FALSEを返します;} トリガの実際の活性化にdllがロードされた、sql serverはSqlサーバー な許可(tevenのdll内で)書き込みaheシャードファイルです。

を解決するためにからかじめ与えておく必要がありまsqlサーバーのpermmisions:右クリックしMyComputer->管理->サービスおよびアプリケーション>サービス:ForEach SQLサービス:(リストの右側) 1.右クリックすると->プロパティ->ログオンタブ->換えシステム。

して欲しいですsomtime..

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top