error 80004005 while INITIALIZE sql server CE



Hi,

Initializing replication, gives error 80004005...I am using SQL
Authentication on my SQL Server i.e system account.
Executing http://10.0.0.10/sql/sscesa20.dl displays "SQL Server CE
Server Agent"
Virtual dir is configured to use annanymous access.

where am i wrong in my code?
are there any additional steps to be followed.

void InitializeReplicationRDA()
{
HRESULT hr;
hr = CoInitializeEx(NULL, COINIT_MULTITHREADED); //initialize com port

hr = CoCreateInstance(CLSID_Replication,
NULL,
CLSCTX_INPROC_SERVER,
IID_ISSCEMerge,
(LPVOID *)&CEMerge);
if(FAILED(hr))
{
MessageBox (NULL, TEXT("THE DATABASE OBJECT COULD NOT BE
CREATED"), TEXT("NO DATABASE CONNECTIVITY"), MB_OK);
return;
}
else
MessageBox (NULL, TEXT("INSTANCE SUCCESS"), TEXT("SUCCESS!!!"),
MB_OK);

CEMerge->put_InternetURL(L"http://10.0.0.10/sql/sscesa20.dll";);
CEMerge->put_InternetLogin(L"");
CEMerge->put_InternetPassword(L"");
CEMerge->put_Publisher(L"SQLSERVER");
CEMerge->put_PublisherDatabase(L"southwind");
CEMerge->put_Publication(L"southwind");

CEMerge->put_PublisherSecurityMode((REPL_SECURITY_TYPE)DB_AUTHENTICATION);
// CEMerge->put_PublisherSecurityMode(NT_AUTHENTICATION);

CEMerge->put_PublisherLogin(L"sa");
CEMerge->put_PublisherPassword(L"<sa password>");
CEMerge->put_PublisherNetwork((REPL_NETWORK_TYPE)DEFAULT_NETWORK);

CEMerge->put_Subscriber(L"southwind");
CEMerge->put_SubscriberConnectionString(L"Provider=microsoft.sqlserver.oledb.ce.2.0;Data
Source=southwind.sdf");
CEMerge->put_DistributorNetwork((REPL_NETWORK_TYPE)DEFAULT_NETWORK);
CEMerge->put_DistributorSecurityMode((REPL_SECURITY_TYPE)DB_AUTHENTICATION);

CEMerge->put_DistributorLogin(L"");
CEMerge->put_DistributorPassword(L"");
CEMerge->put_ExchangeType((REPL_EXCHANGE_TYPE)BIDIRECTIONAL);
CEMerge->put_Validate(NO_VALIDATION);

//ADD SUBSCRIPTION
GetLocalTime(&systemtime);
SystemTimeToFileTime(&systemtime, (FILETIME*)&timeStart);

// hr = CEMerge->AddSubscription(CREATE_DATABASE);
hr = CEMerge->AddSubscription(EXISTING_DATABASE);

if (SUCCEEDED(hr))
{
GetLocalTime(&systemtime);
SystemTimeToFileTime(&systemtime, (FILETIME*)&timeStop);
timeTotal = ((double)(timeStop - timeStart) / 10000000);
swprintf(wszBuffer, L"Subscription added\r\n\r\nElapsed time in
seconds = %8.3f", timeTotal);
MessageBox(NULL, wszBuffer, L" A D D S U B S C R I P T I O N ",
MB_OK);
}
else
{
printf("%x",hr);
MessageBox (NULL, TEXT("S U B S C R I P T I O N F A I L E D"),
TEXT("error"), MB_OK);
}

//SYNCHRONIZE
hr = CEMerge->Initialize();
if (SUCCEEDED(hr))
{
MessageBox (NULL, TEXT("I N I T I A L I Z E SUCCESS"),
TEXT("SUCCESS!!!"), MB_OK);
fInitialized = TRUE;
hr = CEMerge->Run();
}
else
{
printf("%x",hr);
MessageBox (NULL, TEXT(" I N I T I A L I Z E F A I L E D"),
TEXT("error"), MB_OK);
}

if (SUCCEEDED(hr))
{
MessageBox (NULL, TEXT("Run SUCCESS"), TEXT("SUCCESS!!!"), MB_OK);
LONG lPubChanges;
LONG lPubConflicts;
LONG lSubChanges;
GetLocalTime(&systemtime);
SystemTimeToFileTime(&systemtime, (FILETIME*)&timeStop);
timeTotal = ((double)(timeStop - timeStart) / 10000000);

CEMerge->get_PublisherChanges(&lPubChanges);
CEMerge->get_PublisherConflicts(&lPubConflicts);
CEMerge->get_SubscriberChanges(&lSubChanges);

swprintf(wszBuffer, L"Synchronization Complete\r\n\r\nElapsed time in
seconds = %8.3f\r\nPublisher Changes = %d\r\nPublisher Conflicts =
%d\r\nSubscriber Changes = %d", timeTotal, lPubChanges, lPubConflicts,
lSubChanges);
MessageBox(g_hwndMain, wszBuffer, L" S Y N C H R O N I Z E ",
MB_OK);
}
else
{
printf("%x",hr);
MessageBox (NULL, TEXT(" S Y N C H R O N I Z E F A I L E D"),
TEXT("error"), MB_OK);
}
if (fInitialized)
(void)CEMerge->Terminate();


// Create and initialize the RDA object
hr = CoCreateInstance(CLSID_RemoteDataAccess, NULL,
CLSCTX_INPROC_SERVER, IID_ISSCERDA, (LPVOID *)&CERDA);
CERDA->put_InternetURL(L"http://10.0.0.10/sql/sscesa20.dll";);
CERDA->put_InternetLogin(L"");
CERDA->put_InternetPassword(L"");
CERDA->put_LocalConnectionString(L"Provider=microsoft.sqlserver.oledb.ce.2.0;Data
Source=southwind.sdf");
wcscpy(wszConnectString, L"provider=sqloledb; data source=SQLSERVER;
Initial Catalog=southwind; user id=sa; password=sa");
wcscpy(wszLocalTable, L"southwind");
wcscpy(wszErrorTable, L"southwinderr");
wcscpy(wszQuery, L"select * from T1");


//PULL
// Invoke the RemoteDataAccess Object
bstrConnectStr = SysAllocString(wszConnectString);
bstrLocalTable = SysAllocString(wszLocalTable);
bstrErrorTable = SysAllocString(wszErrorTable);
bstrQuery = SysAllocString(wszQuery);

hr = CERDA->Pull((WCHAR*)bstrLocalTable,
(WCHAR*)bstrQuery,
(WCHAR*)bstrConnectStr,
TRACKINGON,
(WCHAR*)bstrErrorTable);

SysFreeString(bstrConnectStr);
SysFreeString(bstrLocalTable);
SysFreeString(bstrErrorTable);
SysFreeString(bstrQuery);

// Handle Errors
if (SUCCEEDED(hr))
{
GetLocalTime(&systemtime);
SystemTimeToFileTime(&systemtime, (FILETIME*)&timeStop);
timeTotal = ((double)(timeStop - timeStart) / 10000000);
swprintf(wszBuffer, L"Pull succeeded\r\n\r\nElapsed time in seconds =
%8.3f", timeTotal);
MessageBox(g_hwndMain, wszBuffer,L" R D A P U L L", MB_OK);
}
// else
// ShowRDAErrors(L"Pull failed");

TerminateReplicationRDA();
return;
}

.



Relevant Pages

  • error 80004005 while INITIALIZE sql server CE
    ... Initializing replication, gives error 80004005...I am using SQL ... Authentication on my SQL Server i.e system account. ... MessageBox, ... LONG lSubChanges; ...
    (microsoft.public.windowsce.embedded.vc)
  • Re: SQL Server Agent Hangs Running a BAT file
    ... You can't run anything that has a UI or will pop up a messagebox etc. ... would you want to run access from within SQL Server? ... > I have a CMDEXEC job scheduled which simply has a single step to run a BAT ... > The Access MDB has an AUTOEXEC which runs a function then quits. ...
    (microsoft.public.sqlserver.tools)
  • Re: Error Message: sp_replcmds
    ... Is the log reader stuck on initializing? ... stop SQL Server agent, and restart it to see if this clears the error ...
    (microsoft.public.sqlserver.replication)
  • Re: The process is running and is waiting for a response from one of the backend pro
    ... I'd use sp_who2 and then dbcc inputbuffer to see what the process is doing. ... I always get this message when initializing a large ... Paul Ibison SQL Server MVP, ...
    (microsoft.public.sqlserver.replication)
  • Re: timeout expired
    ... Does the timeout occur when initializing or synchronizing? ... Paul Ibison SQL Server MVP, ...
    (microsoft.public.sqlserver.replication)