error 80004005 while INITIALIZE sql server CE
- From: "sudha" <sudhacnaidu@xxxxxxxxx>
- Date: 8 Jun 2006 05:35:51 -0700
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;
}
.
- Follow-Ups:
- Prev by Date: Help for sql server
- Next by Date: Delete with left join in subquery fails
- Previous by thread: Help for sql server
- Next by thread: Re: error 80004005 while INITIALIZE sql server CE
- Index(es):
Relevant Pages
|