I have set up a multiple server merge replication publication using the following:
SQL server running SQL Server 2005 (SQL server ce server tools installed)
Web Server running IIS (Required replication elements installed)
All went smoothly with the installation and I was able to running the diagnostics report from my Pocket PC by browsing the web page url that contains the slqcesa30.dll
http://www.myserver.eu/repdata/sqlcesa30.dll
I then ran the configure web synchronization wizard and setup basic authentication (I am using this purely for test purposes and will reconfigure the security when testing is complete) I then created a user on both the SQL server and the Web Server (identical on both machines) and gave this user the required rights in all objects. I have set up a trial application using visual studio 2005 vb.net on a windows mobile 5 device. When form1 loads the following code is fired:
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
cnField = New SqlCeConnection("Data Source =\documents and settings\MobileData.sdf;")
daField = New SqlCeDataAdapter("SELECT Id, LatLong, Dateandtimeoffix FROM FieldData", cnField)
Dim cb As New SqlCeCommandBuilder(daField)
Merge()
End Sub
Private Sub Merge()
Const URL As String =” http://www.myserver.eu/repdata/sqlcesa30.dll”
'' URL to Agent
Const InterNetUser As String = "Fielddata" '' InternetUser
Const InternetPassword As String = "Password" '' InternetPassword
Const PublisherServer As String = "MyServer" '' Publisher server
Const PublisherDatabase As String = "Table_Test" '' Publisher Database
Const PublicationName As String = "RepData" '' Publication name
Const SubscriberName As String = "Testing" '' Subscriber name
Const LocalDB As String = "Data Source=\documents and settings\MobileData.sdf" ''Connection string to local database
Using rep As New SqlCeReplication(URL, InterNetUser, InternetPassword, PublisherServer, PublisherDatabase, PublicationName, SubscriberName, LocalDB)
Try
If Not System.IO.File.Exists("\Documents and Settings\MobileData.sdf") Then
rep.AddSubscription(AddOption.CreateDatabase)
End If
rep.Synchronize()
Catch ex As SqlCeException
DisplaySQLCEErrors(ex)
End Try
End Using
SetupDataSetforUI()
End Sub
When the code executes I obtain the following error:
Index #0
Microsoft SQL Server 2005 Mobile Edition
Error: A request to send data to the computer running IIS has failed for more information see HRESULTS.
I have looked this up and it appears to be to do with certification? Is this correct I am using HTTP not HTTPS?
Any assistance appreciated
joebo
SQL server running SQL Server 2005 (SQL server ce server tools installed)
Web Server running IIS (Required replication elements installed)
All went smoothly with the installation and I was able to running the diagnostics report from my Pocket PC by browsing the web page url that contains the slqcesa30.dll
http://www.myserver.eu/repdata/sqlcesa30.dll
I then ran the configure web synchronization wizard and setup basic authentication (I am using this purely for test purposes and will reconfigure the security when testing is complete) I then created a user on both the SQL server and the Web Server (identical on both machines) and gave this user the required rights in all objects. I have set up a trial application using visual studio 2005 vb.net on a windows mobile 5 device. When form1 loads the following code is fired:
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
cnField = New SqlCeConnection("Data Source =\documents and settings\MobileData.sdf;")
daField = New SqlCeDataAdapter("SELECT Id, LatLong, Dateandtimeoffix FROM FieldData", cnField)
Dim cb As New SqlCeCommandBuilder(daField)
Merge()
End Sub
Private Sub Merge()
Const URL As String =” http://www.myserver.eu/repdata/sqlcesa30.dll”
'' URL to Agent
Const InterNetUser As String = "Fielddata" '' InternetUser
Const InternetPassword As String = "Password" '' InternetPassword
Const PublisherServer As String = "MyServer" '' Publisher server
Const PublisherDatabase As String = "Table_Test" '' Publisher Database
Const PublicationName As String = "RepData" '' Publication name
Const SubscriberName As String = "Testing" '' Subscriber name
Const LocalDB As String = "Data Source=\documents and settings\MobileData.sdf" ''Connection string to local database
Using rep As New SqlCeReplication(URL, InterNetUser, InternetPassword, PublisherServer, PublisherDatabase, PublicationName, SubscriberName, LocalDB)
Try
If Not System.IO.File.Exists("\Documents and Settings\MobileData.sdf") Then
rep.AddSubscription(AddOption.CreateDatabase)
End If
rep.Synchronize()
Catch ex As SqlCeException
DisplaySQLCEErrors(ex)
End Try
End Using
SetupDataSetforUI()
End Sub
When the code executes I obtain the following error:
Index #0
Microsoft SQL Server 2005 Mobile Edition
Error: A request to send data to the computer running IIS has failed for more information see HRESULTS.
I have looked this up and it appears to be to do with certification? Is this correct I am using HTTP not HTTPS?
Any assistance appreciated
joebo