Creating And Deploying Sql Mobile Database In Pocket Pc Without Using Merge Replication And RDA
Feb 8, 2006
Hi,
I am developing a application where the database needs to be deployed from the central database server which is sql server 2005, and we have only few fields and few new tables which need to be deployed into pocket pc using sql mobile from sql server 2005. We would like to design the database in sql server 2005 for mobile, which will be only structure and will be deployed into PDA using web service.
Could anyone help on the above problem?
View 1 Replies
ADVERTISEMENT
Jan 28, 2008
Hi All, this system is scheduled to go live in near to a day... but i have hit an issue when switching on SSL. Any help would be greatly appreciated.
Device Env:
Windows Mobile 5.0 + Messaging and Security Feature Pack
SQL Server Mobile 2005.
Merge replication works fine without SSL. After running the Configure Web Sync wizzard to setup SSL merge replication no longer works. Note i checked using pocket IE by browsing to https://mycompany.com/pub/sqlcesa30.dll?diag and all worked fine. There was no prompt saying the cert was bad etc.
The certificate is a:
Equifax secure global ebusiness CA-1 cert.
Signature algorithm md5RSA
public key RSA(1024 bits)
thumbprint algorithm sha1
Stacktrace given is:
- ex {"A request to send data to the computer running IIS has failed. For more information, see HRESULT."} System.Data.SqlServerCe.SqlCeException
- Errors {System.Data.SqlServerCe.SqlCeErrorCollection} System.Data.SqlServerCe.SqlCeErrorCollection
Count 1 Integer
Item In order to evaluate an indexed property, the property must be qualified and the arguments must be explicitly supplied by the user. System.Data.SqlServerCe.SqlCeError
HResult -2147012858 Integer
InnerException Nothing System.Exception
Message "A request to send data to the computer running IIS has failed. For more information, see HRESULT." String
NativeError 28037 Integer
Source "Microsoft SQL Server 2005 Mobile Edition" String
StackTrace "at System.Data.SqlServerCe.NativeMethods.CheckHRESULT()
at System.Data.SqlServerCe.SqlCeReplication.Synchronize()
at MyApp.Helper.Replication.SynchronizeInit()
at MyApp.CallSynchronize()
at System.Windows.Forms.Control.OnGotFocus()
at System.Windows.Forms.Control.WnProc()
at System.Windows.Forms.ContainerControl.WnProc()
at System.Windows.Forms.Form.WnProc()
at System.Windows.Forms.Control._InternalWnProc()
at Microsoft.AGL.Forms.EVL.EnterMainLoop()
at System.Windows.Forms.Application.Run()
at MyApp.Program.Main()
View 2 Replies
View Related
Aug 8, 2006
Dear ppl,
I am writing an application for a device (MDA Pro T-Mobile) having Windows Mobile 5.0 using
-MS .NET Compact Framework 2.0 SP-1
-SQL Mobile 2005.
-VS 2005 .NET
The application uses Merge Replication. The error occurs in the Synchronise() Method of the SqlCeReplication object.
"SQL Server Mobile encountered problems when opening the database."
repl.AddSubscription(AddOption.CreateDatabase);
repl.Synchronize();
I don't understand why I am having this error. It does create the database on AddSubscription() method but it is failing opening the database on Synchronise(). I have also tried uninstalling and then reinstalling all the SQL Mobile components in the following order.
-sqlce30.wce5.armv4i.cab
-sqlce30.repl.wce5.armv4i.cab
-sqlce30.dev.ENU.wce5.armv4i.cab
However, when i run this application on a device(Dell X50 AXIM) with Pocket PC 2003, it runs fine creating the database and sysnchronising it.
The target platform for the project is Windows Mobile 5.0 Pocket PC SDK.
Does any one have any clue what could be the problem ?
Regards
Nabeel
View 6 Replies
View Related
Apr 4, 2006
Hi,
I am developing an application for a Pocket PC (PPC). I am using Visual studio 2005, and the Operating system on this PPC is Window Mobile 2003 SE. The followings are my codes to connect PPC with the database on my PC with sql server 2005. But when I cick the button1, the error with "SQL Server does not exist or access denied." Any ideas? Thanks a lot.
Imports System.IO
Imports System.Data
Imports System.Data.SqlClient
Imports System.Math
Imports System.Drawing
Imports System
Public Class Form1
Dim strConnection As String = "Server=localhost;Integrated Security=SSPI;database=AdventureWorks"
Dim strQuery As String
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Label1.Text = "Hello, Clicking after."
ReadOrderData()
End Sub
Private Sub ReadOrderData()
Dim queryString As String = "select * from Person.Address where AddressID < '10'"
Using connection As New SqlConnection(strConnection)
Dim command As New SqlCommand(queryString, connection)
connection.Open()
Dim reader As SqlDataReader = command.ExecuteReader()
While reader.Read()
MsgBox(String.Format("{0}, {1}", _
reader(0), reader(1)))
End While
reader.Close()
End Using
End Sub
End Class
View 15 Replies
View Related
Apr 6, 2007
I'm having issues setting up merge replication and the errors I'm getting are inconsistent but lead me to believe there is a bigger underlying issue than what they actually indicate.
Issue: unable to initialise subscriber with snapshot for merge replication. Fails for various reasons regardless of environment and setup. Previously this has deployed fine but now it is not.
Publisher is SQL 2005 (9.0.2047), Subscribers are SQLExpress or SQL Dev
The various errors I get are as follows:
These come mixed together generally...
Unable to INSERT ... cannot insert NULL into column rowguid. [This error comes up on different tables for different snapshots, including ones with no records]
bcp (Bulk Copy) error 20253
batch send failed
Unspecified error
Failed to send batch after max errors
end of file reached, terminator missing or field data incomplete
Actions I have taken so far, all to no effect:
Adjusted Agent Profile to increase timeout values and decrease packet sizes
Took new snapshots (tables where errors occured changed but still ame errors)
Created a local subscription database on the server to remove any network related issues (using merge sync over VPN)
Deleted and recreated Publication
Created second publication with different articles on same database to find same errors in different locations again
I've tried reinitializing subscriptions (before subscribers were dropped and I tried recreating) but the DROP command fails due to FK constraints so if I reinitialize any subscriptions they will fail to be applied. Have tried editing the properties to just delete data and not drop tables but that still failed.
I've tried setting up subscriber without snapshot - created publication and snapshot, backed up db, copied to subscriber and restored there. See this article: https://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=689428&SiteID=1 This bloke suffered same results and the response from MS was to change the help files, not functionality. Doesn't help us dealing with subscribers via satellite AND unable to deploy snapshots...
I've checked the service pack releases to see if any issues like this are addressed and found nothing relevent.
My gut feeling is that the snapshot is not being generated correctly for some reason - system stored procedure errors perhaps.
So far my experience with replication has been good, with the odd issue or frustrating limitation in older versions, but this is really killing me...
Barry
(Sorry that author is "Anonymous" - must have messed that up)
View 1 Replies
View Related
Apr 25, 2006
We are using SQL 2005 (SP1) and mobile agents with SQL Mobile. We are seeing an excessive number of updates after a device's database is reinitialized. My understanding was that if I generate a new snapshot or reinitialize all subscriptions (from the server), the devices would only get what the database looks like right now (inserts only) after syncing and/or reinitializing, but they are actually getting the right number of inserts and a huge number of updates in Replication Monitor. Any ideas?
Thanks!
Mike
View 23 Replies
View Related
Oct 25, 2007
Hi,,
I understand that it is possible to set filters dynamically using functions 1) SUSER_SNAME() 2) and HOST_NAME().
SUSER_SNAME() returns the login credentials used in the subscritption.
HOST_NAME() returns the host machine and can be overloaded with buisiness information.
My application should work as below;
1) User enters the login credentials.
2) Some information as the User name passed to server and if the user name is valid , the rows related to this particular user get downloaded to device.
A new user is added directly in the Users table in master database.
My questions are :
1) If I have 3000 users , should I create 3000 subscriptions with 3000 HOSTName or Login credential information to differentiate btween users?
2) If yes , other than using the wizard is there any scripts available to create large number of subscription?
3) If add subscription programatically , should I re-initialise subscription for each new user which is assigned with a diferrent host name value?
my current code looks like this
SqlCeReplication repl = new SqlCeReplication();
repl.InternetUrl = @"http://100.000.000.000/test/sqlcesa30.dll";
repl.Publisher = @"something";
repl.PublisherDatabase = @"something";
repl.PublisherSecurityMode = SecurityType.DBAuthentication;
repl.PublisherLogin = @"sa";
repl.PublisherPassword = @"something";
repl.Publication = @"somethingPublisher";
repl.Subscriber = @"something";
repl.HostName = @"newuser"; // The user name entered in the login form assigned to Hostname property.
repl.SubscriberConnectionString = @"Data Source=""Program Files esthost.sdf"";Max Database Size=128;Default Lock Escalation =100;";
try
{
repl.ReinitializeSubscription(true);
repl.Synchronize();
repl.Dispose();
}
Please advise
-Aneesh
View 4 Replies
View Related
May 3, 2006
Hi all,
I have developed a mobile program with sql server 2000 merge replication. It works fine in Win mobile 2003 OS, but, not working at all after I upgrade the mobile OS to Win mobile version 5.0
Does anyone have any idea at all what's going on?
Thanks a lot.
AngelaC
View 4 Replies
View Related
Sep 9, 2006
Hi,
I developed a mobile application (CF 2.0) that uses merge replication to synchronize data between SQL Server Mobile and SQL Server 2000 SP4. The application uses asynchronous synchronization (BeginSynchronize method) to initiate the replication and update the user about the progress. The application worked perfectly on PPC2003 and Windows CE .Net 4.2 platformes.
The problem started when I moved it to WM5 platform. We're using Symbol MC70 devices.
When I start the replication for the first time it synchronizes without a problem. If I perform additional synchronizations(updates) it synchronizes without a problem. If I exit the application and start it again the sync process hangs when I try to synchronize it(to deliver updates).
Any ideas?
Thank you
View 3 Replies
View Related
Feb 5, 2007
Dear ppl,
I have a windows mobile 5.0 application that syncronises with SQL Sever 2005 (Merge Replication). The replication works fine without SSL. But when using SSL it doesn't work .On the device i get an error
28037, A request to send data to the computer running IIS has failed.
I have created a a Wild Card Certificate (*.domain-name.net) using Microsoft Certificate Services (Stand Alone) and setup the replication website with replication virtual directory under it , in IIS, to use this certificate. The host header for the replication site is set to "sql.domain-name.net". I have binded the host headers to the port as well.
I can access the https://sql.domain-name.net/replication/sqlcesa30.dll from remote computer and device and it says Microsoft SQL Server Compact Edition Server Agent, that means it is setup correctly.
I have installed the certificate authority and its wild card certificate on the device Root Certificates. Now when I call repl.syncrhonise() from device .. it throws exception with error 28037, A request to send data to the computer running IIS has failed.
which i think means, it can't find the service url.
I am not sure what is the problem..something to do with Trust - SSL certificates... Is there any thing i am missing ?
Awaiting,
View 9 Replies
View Related
Nov 9, 2007
Hi ,
I would like to get your advice in an issue that I am facing regarding merge replication.
The flow is like:
1) User enter his login name and password.
2) Host_name is set as the login name that the user enters.
3) Based on the HOST_NAME property after filtering user gets the records relevent only to him
(Differnet subscriber may use same mobile device).
4) He make some changes in the local sdf according to the business logic.
5) The application Syncs with server on the next login session.
My issue is when I am trying to run the application in emulator exactly at the sdf updating part the application terminates.
Error mess: Connection to Remote Device has been lost.....
If I execute the same sql insert query it works om the local sdf and master database.
Emulator used where Pocket PC 2003 SE and Windows Mobile 6 classic emulator.
I have installed 1) Visual Studio 2005 SP 1 2) net compact framework SP2.
When I comment all the code related to Sync ,application works witout any issue.
And the same application works in my "I mate kjam".
The code that I use is given below:
==========================================================================
public void Sync(string hostname, int newsub) // Parameters for HOSTNAME and flag to denote new user or existing //user.
{
SqlCeReplication repl = new SqlCeReplication();
repl.InternetUrl = @"http://231.000.000.211/Merge/sqlcesa30.dll";
repl.Publisher = @"SERVER";
repl.PublisherDatabase = @"Merge";
repl.PublisherSecurityMode = SecurityType.DBAuthentication;
repl.PublisherLogin = @"sa";
repl.PublisherPassword = @"password";
repl.Publication = @"Merge";
repl.Subscriber = @"MergeSub";
repl.HostName = hostname;
repl.SubscriberConnectionString = @"Data Source=""Program FilesMerge.sdf"";Max Database Size=128;Default Lock Escalation =100;";
try
{
if (newsub == 0)
{
if (File.Exists(@"Program FilesMerge.sdf"))
{
File.Delete(@"Program FilesMerge.sdf");
}
repl.AddSubscription(AddOption.CreateDatabase);
repl.Synchronize();
repl.Dispose();
MessageBox.Show("newuser sync Done");
}
else
{
if (!File.Exists(@"Program FilesMerge.sdf"))
{
repl.AddSubscription(AddOption.CreateDatabase);
repl.Synchronize();
repl.Dispose();
MessageBox.Show("FirstSync Done");
}
else
{
repl.Synchronize();
repl.Dispose();
MessageBox.Show("SameuserSync Done");
}
}
=================================================================================
Please advise......
View 1 Replies
View Related
Oct 18, 2007
Hi,
I'm currently investigating the feasibility of having SQL Mobile on a number of devices running Windows CE. These devices will have to synchronize with the server (either using merge replication or RDA) over GPRS. The problem I have is that some of these devices will never be online. Is there are a way of synching these offline devices? The model I had in mind was using a USB key (or some other storage device) to download the latest updates from an online device and transferring this data to the offline device, and vice versa e.g. from offline to online and then merging. Is this feasible?
Thanks
Csharper
View 2 Replies
View Related
Nov 22, 2006
This is just too simple. I must be doing something wrong. I have tried everything, redoing the SQLMobile merge publication, setting permissions, and need help ASAP.
The basic test with the http://localhost/sqlmobile/sqlcesa30.dll returns the message:
SQL Server Mobile Server Agent 3.0
I have tried the merge replication with both my local SQL Server 2005 installation and a remote development box. Both instances return the same error.
I am able create and replicate a database using the sample application:
http://msdn2.microsoft.com/en-us/library/ms171908.aspx
However, another simple applications fails to synchronize when simply using the following code block:
Dim repl As New SqlCeReplication()
repl.InternetUrl = "http://xens/sqlmobile/sqlcesa30.dll"
repl.Publisher = "xena"
repl.PublisherDatabase = "SQLMobile"
repl.PublisherSecurityMode = SecurityType.NTAuthentication
repl.Publication = "SQLMobile"
repl.Subscriber = "sqlmobile"
repl.SubscriberConnectionString = _
"Data Source='" + filename + "';Password='';" _
& "Max Database Size='128';Default Lock Escalation ='100';"
repl.AddSubscription(AddOption.CreateDatabase)
repl.Synchronize()
Here is the error message:
Error Code: 80072EE7
Message: A request to send data to the computer running IIS has failed. For more information, see HRESULT.
Minor Err. 28037
Source Microsoft SQL Server 2005 Mobile Edition
--------------------------------------------------------------------------------------
Here is the full code sample:
Imports System.Data.SqlServerCe
Imports System.Text
Public Class Form1
Private engine As SqlCeEngine
Private repl As New SqlCeReplication()
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
engine = New SqlCeEngine()
engine.LocalConnectionString = "Data Source=""sqlmobile.sdf"";Max Database Size=128;Default Lock Escalation =100;"
engine.CreateDatabase() <- First method creates database
engine.Dispose()
engine = Nothing
repl.InternetUrl = "http://xena/sqlmobile/sqlcesa30.dll"
repl.Publisher = "xenaSQL2005"
repl.PublisherDatabase = "SQLMobile"
repl.PublisherSecurityMode = SecurityType.NTAuthentication
repl.Publication = "SQLMobile"
repl.Subscriber = "SQLMobile"
repl.SubscriberConnectionString = "Data Source=""sqlmobile.sdf"";Max Database Size=128;Default Lock Escalation =100;"
Try
'repl.AddSubscription(AddOption.CreateDatabase) <- this method fails also
repl.AddSubscription(AddOption.ExistingDatabase)
repl.Synchronize() <-- Code fails here with the error message shown.
Catch err As SqlCeException
ShowErrors(err)
'MessageBox.Show(err.ToString)
End Try
End Sub
Public Sub ShowErrors(ByVal e As SqlCeException)
Dim errorCollection As SqlCeErrorCollection = e.Errors
Dim bld As New StringBuilder
Dim inner As Exception = e.InnerException
Dim err As SqlCeError
If Not inner Is Nothing Then
MessageBox.Show(("Inner exception: " & inner.ToString()))
End If
' Enumerate each error to a message box.
For Each err In errorCollection
bld.Append((ControlChars.Cr & " Error Code: " & err.HResult.ToString("X")))
bld.Append((ControlChars.Cr & " Message : " & err.Message))
bld.Append((ControlChars.Cr & " Minor Err.: " & err.NativeError))
bld.Append((ControlChars.Cr & " Source : " & err.Source))
' Retrieve the error parameter numbers for each error.
Dim numPar As Integer
For Each numPar In err.NumericErrorParameters
If 0 <> numPar Then
bld.Append((ControlChars.Cr & " Num. Par. : " & numPar))
End If
Next numPar
' Retrieve the error parameters for each error.
Dim errPar As String
For Each errPar In err.ErrorParameters
If [String].Empty <> errPar Then
bld.Append((ControlChars.Cr & " Err. Par. : " & errPar))
End If
Next errPar
MessageBox.Show(bld.ToString())
bld.Remove(0, bld.Length)
Next err
End Sub
End Class
Thanks in advance....
View 4 Replies
View Related
Feb 8, 2006
I am in the process of testing a SQL 2005 Std x64 server with merge replication using Windows Mobile 5.0 clients and SQL 2005 Mobile. The test DB is a copy of the currently active DB, but has been expanded to include some new tables to support planned application functionality extensions.
Once the publication exceeds 97 Articles, the error is thrown that "The buffer pool is too small or there are too many open cursors". If I drop one article everything is fine. I ran a test with dummy DB that had 100 blank tables, and this initialized just fine on the client. The additional articles I am publishing (the 98th table) is also empty, but it throws the error anyway.
Is there a limit on the total size/number of changes that can be sent? Since I have run tests sending over 64,000 changes to a client during initialization this does not seem to be the case (I am only attempting a little more than 9,700 changes on this initialization).
Some other ideas that have been tested without success are to stop the user triggers from propagating, and toggling the AWE setting for SQL. The Replication Monitor does say the client completes replication, and it seems to choke at the very end of completing replication when it attempts to write to the tracking tables. The last successful action is sys.sp_MSadd_merge_history90, and it appears to be acting on the last table added to the publication.
There does not appear to be a limit on the number or articles, since I can publish more articles in a dummy DB than I am able here, so it seems to be something to do with size. Any information would be helpful, this is a very frustrating issue. Thanks!
View 1 Replies
View Related
Jan 10, 2006
I have a question for anyone who mas some tips/pointers for optimizing SQL merge replication publications.
The front end web server is running IIS 6.0 on Windows 2003 x86 Server Standard (Server A). The back end database server is running SQL 2000 Standard on Windows 2003 x86 Standard (Server B). The merge replication clients connect via HTTPS over the Internet from a custom C#.NET 2005 application using SQL 2005 Mobile running on Windows Mobile 5.0 (Client).
The publication itself has several filters on it. The entry point uses the user's Windows username to start the filter. Based on the user, it then filters the records in multiple tables. There are 68 articles and 44 filter statements. The filters extend multiple layers deep, in other words they are not all filtering off the HOST_NAME() variable, some tables filter from records in tables that filter from the HOST_NAME() variable. The publication is set to minimize data sent to the clients, and considers a subscription out of date if it has not synced in the last 4 days. All the rowguids are indexed as well.
There are approximately 35 clients actively using the application at any given time. On average, a client will initiate a merge replication 3-4 times per hour from 8am-5pm. Generally, a sync will take between 10 seconds and 2 minutes to complete, with most of them being around 30 seconds on average.
When a client starts a sync, there is a spike to about 50% on the server's CPU graph. If multiple clients attempt to sync at the same time the CPU utilization can be pushed to 100% for extended periods (more than 30 seconds).
I recently completed a project to increase the bandwidth available to the clients, and plan to reduce the number of filters significantly (although this will obviously increase the amount of data going to the clients and the storage needs on the individual devices). I also plan on changing the setting to not minimize the amount of data sent to the clients.
Having said all that, does anyone have any information about how to further optimize merge publications to mobile clients? The next publication will be on SQL 2005 x64 Standard if I can solve the issues in the text environment. I would like to enhance the publication as much as possible to make the end user experience better than it currently is.
Thanks!
View 3 Replies
View Related
Nov 15, 2006
We have setup a 32-bit IIS server on a 32-bit machine. Installed necessary SQL Server components (32-bit replication components). We have installed SQL Server 2005 64-bit SP1 with latest hotfixes on a 64-bit machine.
On the Mobile device we installed SQL Server 2005 Mobile.
When we start mergereplication the problem we have is error 28009 (An instance of the SQL Server Reconciler cannot be created) on the mobile device. I read allot about it, but still have a questetion.
Should this work?
I found the doc: SQL Server 2005 Upgrade Technical Resource Guide:
Note: If your upgrade involves SQL Server CE subscribers, you must perform additional actions on the IIS server. You will need to install SQL Server 2005 client connectivity components along with SQL Server Mobile Edition components on the IIS server. You will also have to replace sqlcesa30.dlll, sqlcerp30.dll, and all the replication components on the IIS server.
From this I conclude it should work or is the doc in error?
If it does not, what can we do?
32-bit SQL Server 2005 on the 64-bit machine should work. (Can a 64-bit SQL Server 2005 run alongside 32-bit SQL Server 2005?).
Beste regards,
Hans Mank
View 1 Replies
View Related
Feb 14, 2006
I'm trying to test merge replication, but am unable to create the publication, the snapshot agent keeps failing. The error I get from replication monitor is "Script failed for Table <tablename>"
Our database has quite a few XML datatype columns, when I take out the xml columns the snapshot succeeds OK, but fails with the xml column.
I created a simple table containing a varchar column and xml column. I created this table in our database, and in Adventure Works. Was able to create a publication with this test table in the adventureworks database, but was unable to create publication with this table in our database. The snapshot failed with error "Script failed for table testtable". I removed the xml column on the test table in our database and was able to create the publication successfully. Creating a publication in the adventureworks database with an xml column has no problems, but does in our database.
Anyone have any ideas?
View 4 Replies
View Related
Jan 3, 2008
Hi,
I am stuck when trying to create a new publication. I fill all the wizard tabs but when finishing I get that message (6 times, one for every table):
Code Block
SQL Server Management Studio could not create article 'applicationModules'. (New Publication Wizard)
------------------------------
ADDITIONAL INFORMATION:
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
------------------------------
This article cannot use the 'subscriber_upload_options' feature because the publication compatibility level is less than 90. Use sp_changemergepublication to set the publication_compatibility_level of publication 'testMR' to '90RTM'.
Changed database context to 'test'.
Publication 'testMR' has the following property: 'compensate_for_errors'. SQL Server subscribers below version '8.00.0858' will ignore this setting. (Microsoft SQL Server, Error: 21522)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.1399&EvtSrc=MSSQLServer&EvtID=21522&LinkId=20476
The error seemed pretty clear, so I end up doing:
EXEC sp_changemergepublication
@publication = N'testMR',
@property = N'publication_compatibility_level',
@value = N'90RTM'
and running the wizard again.
But I got the same error.
The link on the message take me nowhere.
and by googling for error 21522 I couldn't find any help at all.
Please, could anyone help?
Cheers
View 3 Replies
View Related
Mar 1, 2006
I am using VS 2005 to develop a Pocket PC 2003 application and for some reason I dont have the ability to assign my datasource to a SQL Mobile Database?
When opening Server Explorer, right clicking Data Connection, Add New Data Source, Change Data Source, the only options I get are
Microsoft Access Database File
Microsoft ODBC Data Source
Microsoft SQL Server
Microsoft SQL Server Database File
Oracle Database
<other>
I was trying to follow the tutorial
Step by Step: Developing a SQL Mobile Application with Visual Studio 2005
and SQL Server 2005 (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnppcgen/html/med302_msdn_sql_mobile.asp)
and in that tutorial when they do the exact same thing it shows a screen shot that also lists 'Microsoft SQL Server Mobile Edition'
Any ideas why I dont have that option? FYI, I have SQL Server 2005 and have installed SQL Server 2005 Mobile Edition.
Thanks
Mike
View 5 Replies
View Related
Jan 24, 2007
Hi,
Is there any way to measure bandwith usage during merge replication between sql server 2005 and sql server mobile 2005 running on a cradled wm5 mobile device.
Attaching the windows performance monitor to the network connection established over usb would work although I was wondering if there was something specific for this case integrated into Sql server 2005 / sql server mobile 2005 / Sql server management studio / third party tools that i could use ?
thnx,
pdns.
View 4 Replies
View Related
Apr 10, 2008
I have written following code in my application
I just want to display all the data of a Single table into a Data Grid, I know that we can drag and drop the table on to a form and datagrid is generated, but here I want to retrive those values through my code, how should i do that
I am getting following errors while running the program
Error 1) Error No. 28037, MS SQL Server 2005 Evrywhere Edition
Error: A request to send data to the computer running IIS has failed. For more information see HRESULT
Error 2) Error No. 0, SQL Server 2005 Evrywhere Edition ADO.Net Data Provider
Error: The specified table does not exist [ JobLists ].
Can anybody please tell me, where I went wrong ??? In this code anywhere else????
Note: While adding a Data Source of SQL Server 2005 Mobile Edition, I have added that .sdf file into my project, thats why I have written the Data Source as : .DbFile.sdf
@"Data Source = .DbDotNetCF.sdf";
The code is as follows:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlServerCe;
namespace DeviceApplication1
{
public partial class Form1 : Form
{
string filename = @".DbDotNetCF.sdf";
private DataSet dsJobLists;
public Form1()
{
InitializeComponent();
}
private void DeleteDB()
{
if (System.IO.File.Exists(filename))
{
System.IO.File.Delete(filename);
}
}
private void Sync()
{
SqlCeReplication repl = new SqlCeReplication();
repl.InternetUrl = @"http://localhost/WebsiteDotNetCF/sqlcesa30.dll";
repl.Publisher = @"RAHU";
repl.PublisherDatabase = @"DotNetCF";
repl.PublisherSecurityMode = SecurityType.NTAuthentication;
repl.Publication = @"PubDotNetCF";
repl.Subscriber = @"SubDotNetCF";
repl.SubscriberConnectionString = @"Data Source='" + filename + "';Max Database Size=128;Default Lock Escalation =100;";
try
{
if (!System.IO.File.Exists(filename))
{
repl.AddSubscription(AddOption.CreateDatabase);
}
repl.Synchronize();
}
catch (SqlCeException ex)
{
DisplaySQLCEErrors(ex);
}
finally
{
repl.Dispose();
}
// Display Same Data In Another DataGrid : dataGrid1
SqlCeConnection cn = new SqlCeConnection(@"Data Source='" + filename + "'");
SqlCeDataAdapter daJobLists = new SqlCeDataAdapter("SELECT JobListsID, JobID, PersonID FROM JobLists", cn);
if (dsJobLists == null)
{
dsJobLists = new DataSet();
}
try
{
dsJobLists.Clear();
daJobLists.Fill(dsJobLists, "JobLists");
dataGrid1.DataSource = dsJobLists.Tables["JobLists"];
}
catch (SqlCeException ex)
{
DisplaySQLCEErrors(ex);
}
}
private void DisplaySQLCEErrors(SqlCeException ex)
{
for (int i = 0; i < ex.Errors.Count; i++)
{
MessageBox.Show("Index #" + i.ToString() + ""
+ ex.Errors.Source + ""
+ "Error: " + ex.Errors.Message,
"Error No. " + ex.Errors.NativeError.ToString());
}
}
private void Form1_Load(object sender, EventArgs e)
{
Sync();
DeleteDB();
if (DbDotNetCFDataSetUtil.DesignerUtil.IsRunTime())
{
// TODO: Delete this line of code to remove the default AutoFill for 'dbDotNetCFDataSet.JobLists'.
this.jobListsTableAdapter.Fill(this.dbDotNetCFDataSet.JobLists);
}
}
}
}
I have created a merge replication correctlly( I suppose, there were no errros)
Please help
Your help will be appriciated
View 1 Replies
View Related
Jan 14, 2008
We are building a small utility tool application for clients who sometimes may not access the company central database. The application use the merge replication to implement the Web Synchronization of the SQL server database and SQL server compact edition database at the client machine.
After the installation of the application, we use the following code to create a sql server compact edition .sdf file.
SqlCeReplication repl = new SqlCeReplication();
repl.AddSubscription(AddOption.CreateDatabase );
repl.Synchronize();
Some machines run the process successfully, and the database .sdf was created and replicated successfully. However, some machines failed, the error message got is "SQL mobile encountered problems when creating database". All the client machines are Windows XP. We did some research and found someone commented SQL Server compact edition file (.sdf) is a medium integrity level resources file, in some windows system, IE runs in protected mode and is a €œlow integrity€? process, which caused the Access Denied.
Can anyone here know any solution to this issue? Any help is highly appreciated.
View 3 Replies
View Related
Jan 10, 2006
I am having trouble with getting Merge Replication up with a new SQL 2005 x64 Server. I already have it running smoothly with SQL 2005 Mobile and SQL 2000, but I want to migrate the backend to SQL 2005.
There is a front end server running IIS 6.0 on Windows 2003 x86 Standard (Server A) with SSL required and Basic Authentication set as the only authentication method (default Domain and Realm are also set). The backend server is running SQL 2005 x64 Standard on Windows 2003 x64 Standard (Server B). The mobile devices are running Windows Mobile 5.0 with SQL 2005 Mobile (Client).
From both a standard Windows XP workstation (IE) and the Client (PIE) I can browse to the HTTPS site on port 444 for the sqlcesa30.dll on Server A and get a response in normal and ?diag modes. The ?diag gives success in all but the 8.0 Database Reconciler (I didn't install the SQL 2000 replication components on Server A, my understanding is they should not be needed). Sql Server Module Versions are as follows: sqloledb.dll - 2000.86.1830.0, 9.0 replrec.dll - 2005.90.1399.0, 9.0 replprov.dll - 2005.90.1399.0, 9.0 msgprox.dll - 2005.90.1399.0.
The publication on Server B is enabled for Web Synchronization and the Snapshop Agent has run. There are no reported errors on that side.
Since I ran into issues getting synchronization to run I have opened up permissions fairly wide in this test environment. The PAL and the Database both have the user I am attempting to sync with listed (I am using the Administrator account in the test domain). I have opened full rights on the Snapshot share on Server B to Everyone (both NTFS ACL on the directory and the Share permissions). The virtual directory on Server A containing the sqlcesa30.dll has also been opened very wide, and the Application Pool does have access to it.
The Client is running a custom C#.NET 2005 application. With the exception of changes to set the application to sync with the Server A/B duo instead of the production servers, this application is identical to the code currently being used in production with SQL 2000 Standard.
The persistent error that I am getting from the Client being thrown by SQL 2005 Mobile when I attempt to sync is "An instance of the SQL Server Reconciler error object cannot be created. Try reinstalling the replication components."
SQL 2005 Mobile components on Server A are set to Logging Level 3 but not returning any errors that I can see to troubleshoot with. All replication components appear to be installed and operational, although I have re-installed them.
Besides the obvious question of how to solve the error listed above, is there an issue with am x85 front end IIS 6.0 server talking to an x64 back end SQL 2005 server for merge replication over HTTPS with Windows Mobile 5.0 clients running SQL 2005 Mobile?
Based on everything I have read off the MSDN Forums, MSDN articles, BOL, log files, and web searches it seems like I should have an operational synching topology, however clearly I have missed something because I have yet to get a successful subscription through to the publication.
Any insight/enlightenment would be greatly appreciated, this seems to be a very narrow and specific area of replication and mobility and information is relatively sparse from my experience so far.
Thanks!
View 5 Replies
View Related
Jul 21, 2006
This is a great tutorial and it's a shame one of the more important steps was missed.
In the €œCreate the snapshot user€? section you you find the steps to create the snapshot_agent account. Then in the €œCreate the snapshot folder€? section you find the share and folder permissions. However, at no point do the instructions advise you about adding the snapshot_agent to the SQL Server Logins. The result is that agent cannot perform the initial snapshot but you won't find this out until 50 steps later after Step 10 in the section €œCreate a new subscription".
To get back on track, openthe Object Explorer's Security section and add the snapshot_agent to your logins. Then using the "User Mappings", set an appropriate level for the SQLMobile database role. Once completed you then need to run the agent.
Right-click the SQLMobile publication you created and select "View Snapshot Agent status". From that dialog you can select "Start" to run the agent. When it completes, you can return to the tutorial section "Create a new subscription" and continue with the tutorial.
View 4 Replies
View Related
Nov 3, 2007
I am studying the tutorial in SQL Server 2005 Mobile Edition Books Online, and the topic is Creating a Mobile Application with SQL Server Mobile. I have got a problem when creating a new subscription after created a new SQL Server Mobile database. And the problem is shown below:
New Subscription Wizard
- Beginning Synchronization (Success)
- Synchronizing Data (100%) (Error)
Messages
* Failure to connect to SQL Server with provided connection information. SQL Server does not exist, access is denied because the IIS user is not a valid user on the SQL Server, or the password is incorrect.
HRESULT 0x80004005 (29061)
* 無法完æˆ?作æ¥ã€‚
- Finalizing Synchronization (Stopped)
- Saving Subscription Properties (Stopped)
Before I have met this problem, I have finished all the task. And I can browse the localhost web site by using anonymous account even I use internet explorer or browse the directly in IIS.
Does anyone can solve it?? Thank you very much~~~
View 3 Replies
View Related
Jun 15, 2006
I am migrating a pocket PC application from VS 2003 to VS 2005 and a few weeks ago I hit the following problem when replicating
A SQL Mobile DLL could not be loaded. Reinstall SQL Mobile. [ DLL Name=sqlceca30.dll]
Scanning forums for help I saw that other people had had this problem and one
http://www.eggheadcafe.com/aspnet_answers/NETFrameworkCompactFramework/Feb2006/post25814466.asp
suggested that this problem could be circumvented by getting the replication object early and then continuously using the same object for subsequent replications.
I did this and it works a lot better now but ever so often I get another error which is
Native Error 28559 SQL Mobile encountered problems when opening the database
My only option at this point is to stop and start the application which cures the problem.
View 4 Replies
View Related
Mar 14, 2006
hi i tried to view a replication on a pocket pc app that i created. and i used the following code
private void Sync()
{
public string AppPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
SqlCeReplication repl = new SqlCeReplication();
repl.InternetUrl = @"http://naomi/sqlmobile/sqlcesa30.dll";
repl.Publisher = @"Naomi";
repl.PublisherDatabase = @"SQLMobile";
repl.PublisherSecurityMode = SecurityType.DBAuthentication;
repl.PublisherLogin = @"sa";
repl.PublisherPassword = @"<...>";
repl.Publication = @"SQLMobile";
repl.Subscriber = @"SQLMobile";
repl.SubscriberConnectionString = @"Data Source=""" + AppPath + @"SqlMobile.sdf"";Max Database Size=128;Default Lock Escalation =100;";
try
{
repl.AddSubscription(AddOption.ExistingDatabase);
repl.Synchronize();
}
catch (SqlCeException e)
{
MessageBox.Show(e.ToString());
}
when i run it i keep on getting the error:
The SQL Mobile Subscription already exists. Publisher, PublisherDatabase, and Publication for this subscription should be different from any existing subscription.
However, i can still view the contents of the datagrid that refers to the database subscription.
1. What should i do in order to stop getting the error above?
2. If i edit the contents of the datagrid in the pocket pc app how will i update the replication in the sql server? thanks
View 1 Replies
View Related
Dec 24, 2007
I've been trying to create an installer for a little .NET CF 3.5 app I've written for Windows Mobile. It uses SQL Server Compact 3.5.
I've got the .NET CF and my program to deploy on the device using ini files and ceappmgr.exe, but when I try to do the same for SQLCE 3.5, it doesn't work (more on this in a sec).
I need my installer to install across lots of different CPU architectures, so I created an ceappmgr INI file that includes all the different cabs for the different CPU architectures.
I'm trying to test the installer by making it install on my smartphone (ARM CPU). The problem is, when I install it I get an error message on the device "The installation file is not intended for this device.". I reckon this means ceappmgr is picking the wrong cab file and trying to make my phone install it!
I did a bit of testing and found out if I remove all the cabs from my ceappmgr INI file EXCEPT for the one that is appropriate for my smartphone, then it works fine! But as soon as I include a cab file that is not appropriate for my device (eg a different cpu architecture, or the ARM PPC cab file), it stops working and I get that "not intended for this device" message.
My INI file looks like this:
[CEAppManager]
Version = 1.0
Component = SQL Server Compact 3.5
[SQL Server Compact 3.5]
Description = Microsoft SQL Server Compact 3.5
CabFiles = sqlce.phone.wce5.armv4i.CAB,sqlce.wce5.armv4i.CAB,sqlce.ppc.wce5.armv4i.CAB,sqlce.wce5.mipsii.CAB,sqlce.wce5.mipsii_fp.CAB,sqlce.wce5.mipsiv.CAB,sqlce.wce5.mipsiv_fp.CAB,sqlce.wce5.sh4.CAB,sqlce.wce5.x86.CAB
Any idea why ceappmgr would be (seemingly) picking the wrong cab file and trying to make my device install it?
Btw, my smartphone uses the "sqlce.phone.wce5.armv4i.CAB" cab file.
Cheers in advance.
View 3 Replies
View Related
Mar 12, 2007
Hi All,
I am replicating an SQL2005 express machine to SQL2005 standard edition server using merge replication.
I have a simple VB application using ADO polling msMerge_history at the subscriber every second so that i can show the end user the progress of the replication.
When the subscription first subscribes and after the initial snapshot is applied replication downloads all changes from the server that have been changed since the snapshot was created.
Towards the end of this download faze the VB polling application fails with "Cannot open database "DBName" requested by the login. The login failed."
This connection fails 4 or 5 times and then normal polling resumes. The scary thing is that sometimes when the polling connection fails the merge replication does not complete and if i check msMerge_Sessions the "runstatus" is stuck at 3 (InProgress).
1) Is the reason the ADO polling connection fails because of some sort of lock between replication and reading the system tables?
2) Is replication getting stuck because of locks?
3) What can i do to get around this?
cheers,
Tim
View 1 Replies
View Related