We currently use SQL Mobile and SQL Server 2005. We depend heavily on merge replication for data to the field handheld devices.
We are going to be starting some new projects and I was wondering about moving to SQL Compact Edition as the first step to migrating all of our applications.
I am concerned, however, about the server side and replication. If we simply deploy SQL Compact Edition will there need to be any changes to the server for replication?
I have not seen much info on this so I thought I would ask the forum. I have VS2005, no SP1 and SQL Mobile installed on my computer. I started developing an app for Windows Mobile 5 using RDA and it appears to work fine. Now I want to know what happens to SQL Mobile if I install SQL CE. Is it going to affect my app? Do I have to install the SQL CE merge replications tools for IIS again? I already have them for SQL Mobile? Will this affect the operation of my app? It looks like the installation procedures call for installing SQL CE tools to VS2005 before installing VS2005 SP1 then install VS2005 SP1 and finally install SQL CE tools for VS2005 SP1. Any help, thoughts or experiences involving this would be appreciated.
I am confused about the version numbers for SQL Server Compact/Mobile. It _looks_ like the versions went from CE 2.0 to Mobile 2005 to CE 3.0 (or 3.1). Is this correct? In fact, I found one location the specifically said Compact Edition is the next version of Mobile. In another location I saw Compact Edition referred to as 2005 CE.
This has got me going because I am creating a Mobile/CE app and I keep getting a "Initialize SQL Server Reconciler" and the best information I can find indicates a mismatch between the server component and the client component.
So, what are the current versions of Mobile/CE? Is there a location that lists all of the components and what version they should be?
Hello, there are some limitations in SQL Server 2005 Mobile Edition - e.g. there is no TRUNCATE TABLE statement, the UPDATE .. FROM clause is not allowed etc. Are these limitations in Compact Edition too? Is T-SQL in these editions functionally equal or different? Is there any comparison of T-SQL features in both editions?
I'm currently looking at adding a database to my company's WinCE 4.2 -based device, running applications coded with embedded CE 4.0. We want to start tracking potentially large quantities of user data (10K-30K 500 byte records) and are looking at a database engine to support this. The database would reside on the device although we would potentially dump the data from the devices to a central workstation that would be used to pull reports about the data across multiple devices. SQL Server Compact Edition sounds like a possible solution, but I'm unclear if it's supported on CE 4.2 or how to install it if it is. It's clearly supported on CE 5.0, but it may be a while before we upgrade to CE 5.0 or 6.0. I've seen references that say that SQL Server Compact Edition is the same as SQL Server Mobile Edition, and references that Mobile Edition is supported on CE 4.2, but I'm unclear if I can install and use SQL Server Compact Edition on CE 4.2 or if I'm on a wild goose chase. If not, can I use SQL Server Mobile Edition and migrate to SQL Server Compact Edition when we upgrade CE to 5.0 or 6.0? If not Mobile Edition, what about Microsoft SQL Server CE 2.0? Is that going too far back in the archives? Thanks for any guidance/enlightenment you can offer.
I completed that example that I pasted in the subject part and when I try to synchronize my mobile database, the data from the server appear in my pocket pc; but when i refresh the data on my pocket pc they do not show on the server.
Hi, I can't seem to find which SQL Server Compact Edition version is pre-installed on the Windows Mobile 6 rom. I guess it is 3.0, but I'm not sure about it. Another question is, if I use SQL Server Compact Edition 3.5 by deploying the .dll files as part of my application's CAB installer, will this be a problem for Windows Mobile 5 or Windows Mobile 6? Thank you in advance,
we've got a SQL Server 2005 which replicates with an SQL Server Compact 3.5. Every 10 to 20 synchronisations we're getting the error mentioned above. A Soft reset of the device helps to make the synchronization working again.
Why is this error happening and how can we resolve this?
BTW, we've also running system that replicates with an SQL Server Compact 3.0 without having this problems.
everything is ok for first run. but i leave the program relogin than that error occured ppc2003 second edition devices. Windows mobile 5.0 device works fine. can anybody help me?
VS2005 ver 8.0.50727 SSCE31VSTools-ENU.exe loaded SSCE31SDK-ENU.msi loaded
machine 1 SQL 2005 loaded
machine 2 http://192.168.20.22/ssce/sqlcesa30.dll "Microsoft SQL Server Compact Edition Server Agent" looks fine
pocket pc side C:Program FilesMicrosoft SQL Server Compact Editionv3.1SDKinwce400armv4
End Try ------------------------------------------------------------------------------ i added the following code to very beginning of my code too. that code lock my device
Declare Function LoadLibrary Lib "coredll" Alias "LoadLibrary" (ByVal lpLibFileName As String) As IntPtr
I am attempting to use the SQL Server 2008 Developer Edition (Management Studio) to create/manage a Compact Edition 3.5 database. My problem is that I cannot even create/open the compact database in Management Studio. Any help would be GREATLY appreciated. TIA
Problem Creating the Compact Database:
Open 2008 Management Studio
From menu choose File | Connect Object Explorer...
Choose SQL Server Compact Edition as the Server type.
Choose <New Database...> as the Database file.
Browse to folder where file will be created (C:MyDatabase#1.sdf was used in my example)
Leave all other field as default selections OR make changes, either way it does not work.
Click OK.
At this point the OK button just becomes disabled and nothing happens. Problem Opening An Existing Compact Database:
Open 2008 Management Studio
From menu choose File | Connect Object Explorer...
Choose SQL Server Compact Edition as the Server type.
Choose <Browse for more...> as the Database file and locate a ".sdf" file that I created using VS2008.
Enter password, if any.
Click OK.
The following exception is displayed: TITLE: Connect to Server ------------------------------ Cannot connect to C:Documents and SettingsdarrinbMy DocumentsVisual Studio 2008ProjectsTestSQLCompactEdition35TestSQLCompactEdition35AFS.sdf. ------------------------------
ADDITIONAL INFORMATION: Failed to retrieve data for this request. (Microsoft.SqlServer.SmoEnum) For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476
------------------------------ Could not load file or assembly 'Microsoft.SqlServerCe.Enumerator, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) (mscorlib) ------------------------------ BUTTONS: OK ------------------------------
What really changed from SQL Mobile to SQL Compact besides allowing the database to run on any desktop? Is there a document somewhere explaining the differences, I did not see anything?
I just changed my development machine over to SP1 and wondered what code I should be changing.
I am filling the database from my C++ Desktop app using ADO using the OLEDB provider Microsoft.SQLSERVER.MOBILE.OLEDB.3.0 and using System.Data.SqlServerCe in my C# mobile app. Is that OLE provider valid with the new version or should it be *.COMPACT.3.1?
I thought there was now suppose to be some sort of automatic compaction, but I did not notice any new properties.
I'm porting my C++ (EVC3) application from Sql CE 2.0 to Sql Mobile 3.0 (with OLE DB). To compact a 2.0 database, i used ISSCECompact interface. But it doesn't exists with the new version. I've only found C# and VB.Net samples in MSDN ...
Just released small piece of software with SQL Compact Edition, version 3, dll files distributed with the application.
Now feedback from 2 people suffering an error message as follows: SQL Mobile usage is restricted on this platform. To use SQL Mobile, you must install SQL Server 2005, Visual Studio 2005, or the Tablet PC SKU.
Both using XP under Admin accounts.
My own testing did throw up this error prior to release, but only when I tried to run the program as a Limited User. I was unable to find out why. Running the program under an Administrator account never produced this error message.
The test-bed was a fresh install of XP, SP 2, running within VMware. An Administrator account was set up. No development software was installed, nor anything to do with SQL. I tried to make it a clean environment to be used by a non-technical user.
So I started an SQL CE database for use inside a mobile application. I used SSMS to create a .sdf file (because if I let Visual Studio do it, SSMS can't open it because it will be version 3.5).
The reason I wanted to use SSMS is because I wanted to be able to design the database in design view, and populate it with initial information for the application to use. That means adding tables and rows.
The problem is, SSMS doesn't seem to have a design view available when working with CE databases. It also doesn't seem to have a feature for adding rows into tables. It's essentially as useless as VS2008 for designing my mobile database. It only lets me add tables, and I can't even do that visually in design view. I have to use those cumbersome forms.
Is there any way to design a CE database in design view? And add rows of data into tables? It feels like I'm overlooking something.
Note: I dont need to subscribe or publish the database. The mobile application just needs to use the database as a repository.
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.
When I try and connecto to SQL CE I always get an invalid operation exception. I"m afraid that I did not follow the proper install for Orcas Beta 2. I can't remember if I was supposed to uninstall SQL Mobile 2005 first or not.
All I know is when I try and use my SQL CE I can't connecto to a DB / sdf file ?
Any help would be appreciated I"m just starting to use SQL CE.
I am trying to make a simple example like sql management studio but stuck in the get table names part :) in first step. are there any easy way to get just table names from sdf file ?
I am writing an application that is designed for the desktop, or small group (3 or less) desktops. The application is being deployed using the Cassini web server as a complete "embedded" solution. I wanted to use SQL Server Compact because of its small footprint and because of the synchronization capabilities with SQLServer. Also, it is very easy to deploy vs. SQL Server Express. The idea behind this APP is that someone might use it locally and then decide to subscribe to the service and then connect the same application to a web services application. That being said, and with knowledge of Microsoft's stance on SQL Compact under ASP.NET, I have most everything working and it works great except for one thing. When I add a SQLDataSource to the page and set the connection string to my file and the DataProvider to System.Data.SqlServerCe and then bind a data grid to the SQLDataSource, it runs fine on my development machine, but when I deploy to my clean test machine, I get an error when the page loads saying: Unable to find the requested .Net Framework Data Provider. It may not be installed. I can create a dataset in code (in fact,in several other places I do) and it works fine. It is just the SQLDataSource(s) that are throwing this error. I have a copy of System.Data.SqlServerCe.dll in the bin folder and I have all of the compact DLL's in the bin folder as well. I can't figure out what I need to do. I also have a reference to the System.Data.SqlServerCe in the web.config file. Can anyone help?
I am using SQL Server Compact Edition under ASP.NET. I am aware of the limitations and warnings from Microsoft for SSCE under ASP.NET, but this app is designed as a desktop deployed ASP.NET application running under the Cassini web browser. I wanted to use SQL Server Compact because of the RDA capabilities with SQL Server without the overhead of installing SQL Server Express. There would be 1-3 users at most running the application. SSCE seemed to make the most sense.
That being said, I have everything working fine except for this. I have added several SQLDataSource controls to several web forms and then I have GridViews bound to these controls. I like using the controls because of the built in sorting, grouping and updating I can do. When I run this on my development machine, it runs fine. When I move to one of my clean test machines and install the app, the SQLDataSouce controls throw the following error:
Unable to find the requested .Net Framework Data Provider. It may not be installed
I have the System.Data.SqlServerCe.dll in the bin folder along with all of the files from the the SQLServer Compact 3.1 install, a reference to it in the web.config file etc. In fact, I have several other database related datasets and tableadapters that are created throughout the application and they all work fine and can access and display data from my sdf file. It seems to only be with the SQLDataSource controls.
I'm trying to start an application in C# with visual Studio 2008 and I want to connect it to a SQL CE 3.5 Database (local .sdf file). I only found samples or How-to guides that use the wizard to add the datasource and the way dragging the dataset to the form. All things binded to the database where you don't have to do coding.
I don't want to have the binding navigator bar, I just want to use text box, date picker and buttons and Save that to the database myself. That way I think it will be more easy for me to validate or manipulate data before the insertion in the DB.
Some time ago a make an ASP.net that was doing same kind of thing with an Access DB... Hope this can help to show what i really want... (sorry for my bad english....)
Nick
Code Snippet Private Sub btnAskSql_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAskSql.Click lblMsg.Text = "" Dim MyDS As New DataSet
'txtRequest.Text is a SQL command like Select * from..... MyDS = SQLRequest(txtRequest.Text) Try DG01.DataSource = MyDS.Tables(0).DefaultView DG01.DataKeyField = "ID" DG01.DataBind() Catch ex As Exception lblMsg.Text = Err.Description Finally End Try End Sub
Function SQLRequest(ByVal TheRequest As String) As DataSet Dim _Con As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=" & Server.MapPath("Gifts.mdb") & ";") Dim selectCMD As OleDbCommand = New OleDbCommand(TheRequest, _Con) selectCMD.CommandTimeout = 30 Dim custDA As OleDbDataAdapter = New OleDbDataAdapter custDA.SelectCommand = selectCMD
Dim TheDS1 As New DataSet Try custDA.Fill(TheDS1, "Request") Catch ex As Exception 'oups lblMsg.Text = Err.Description Finally _Con.Close() End Try Return TheDS1 End Function
We are developing a desktop windows forms app that uses tha database as storage for application configuration. It may be used by one user locally OR used locally by multiple but sharing the database.
Now, i'm really sure that I have read that sharing the .sdf file over a network is supported and thus have started developing against the 3.5 compact db (sdf file). But when testing this scenario we get a message that sharing over network is not supported. I'm really surprised and frankly puzzled since I know I have read about this being supported.
So, can someone more into this subject exlpain to this to me? Is it supported, and if not, should we use the express version instead?
Also, if we have to change strategy, is there an easy migration path regarding development (app. is not even in beta stage so no migrations will be necessary with customers.).
Thankful for any help since this might cause a lot of extra work...
If this leads down the synchronization path, could someone please explain how this is set up. Is it one "master" that acts as a publisher? If we would like to have the solution where several users access the same db-file (be it sdf or mdf), do we have any choice here?
i had read information about sce and i had not unsderstood a little thing:
is it possible or not to use a dataset with that version of sql server? i have a class that access the database with some functions and one of then return a dataset. the dataset is not to be used because it does not make sense with sql server compact edition or it cannot by use at all cause sql server compact edition does not support it?
thkx and by the way i think that it's a great product!
Dear all, Anybody knows where to download the beta release of SQL Compact Edition 3.5. Please provide the URL to download this 3.5 of SQL CE. Thanks Gops Sofist India gopalan@sofist.com
Does the new SQL server Compact edition RC1 (release in Dec 2006) replace the Microsoft SQL Server 2005 Mobile Edition Device SDK?
OR is this an additional database for specific requirements.
Currently developing against MS SQL Server 2005 Mobile Edition Device SDK;; if I switch to the Compact edition; is there a migration wiarzrd or Upgrade wizard available?
I have a Symbol MK1200 device (Intel XScale processor) running CE.NET 4.2 and when I try to reference any SQL objects I get the error:
Can't find PInvoke DLL 'sqlceme30.dll'
The documentation says that Compact Edition is supported on CE.NET 4.2, (ms-help://MS.SSCE.v31.EN/ssmmain3/html/ee220634-55c9-4123-85c4-4e6ceb07f942.htm) but I came across a hotfix (http://support.microsoft.com/kb/924811/) which contradicts this and says CE.NET 4.2 is not supported by default.
Can someone clarify this for me? I know that VS.NET 2005 doesn't support debugging of CF 2.0 apps to CE.NET 4.2 devices but I thought I could manully deploy a CF 2.0 SP1 application with SQL Compact Edition (although I'm still not sure whether I need the hotfix) ?
Either way I've been playing around and here is what I found ...
1. I installed CF 2.0 SP1 and verified a simple 'Hello World' application could deploy. All worked ok. 2. I downloaded & installed the SQL Compact Edition CABs on the device manually from 'SmartDevicesSDKSQL ServerMobilev3.0wce400armv4'. I opened Query Analyzer on the device and it worked i.e. I could open a database, run query, etc. 3. I modified my application with the following sample code:
Once again, just deploying (not debugging) the app. and got the error above 'Can't find PInvoke DLL 'sqlceme30.dll'
4. I installled the HotFix from http://support.microsoft.com/kb/924811/, now Query Anaylzer did not work even though it did work pre-hotfix install, and I'm still getting the same error when I test my code.
Can anyone shed any light on this? It's driving me up the wall ;o)