Creating And Using SQL Server 2005 Compact Edition Databases
Jan 17, 2007
OK I think I am missing something here. I have installed the newly released SQL Compact Edition, Server Tools, and Tools for VS SP1. According to the documentation you can do the following to create a SQL Compact Edition DB:
Creating a SQL Server Compact Edition database on the server
In SQL Server Management Studio, open Object Explorer.
In Object Explorer, click Connect, and then choose SQL Server Compact Edition.
In the Connect to Server dialog box, select <New Database€¦> from the Database file drop-down list.
In the Create New SQL Server Compact Edition Database dialog box, type a file path and file name for the new database file. You can optionally select the default sort order and choose whether you want to encrypt or password-protect the database. If you choose to encrypt or password-protect the database, type a password, and then click OK.
Click Connect to connect to the new SQL Server Compact Edition database. The database is now displayed in Object Explorer.
I see no reference to or any option to create or connect to a SQL Server Compact Edition database in SQL Mgmt Studio. I had SQL 2005 Mobile installed previously and this still shows as an option. What I am missing here? Is SQL Mobile now SQL Compact Editon?
Hello, How are you? I have a problem when I try to create a new connection with Microsoft SQL Server 2005 Compact Edition from Visual Studio 2005 IDE. When I€™m going to choose the data source, the SQL Server 2005 Compact Edition provider doesn€™t appear in the list. I installed the SQL Server 2005 Compact Edition from this page http://www.microsoft.com/downloads/details.aspx?FamilyId=%2085E0C3CE-3FA1-453A-8CE9-AF6CA20946C3&displaylang=en. In the additional information says by installing SQLServerCE31-EN.msi installs the provider (System.Data.SqlServerCe.dll) in the GAC (global assembly cache) and registers the OLEDB provider (sqlceoledb30.dll). So, I don€™t understand why couldn€™t I create a new connection with Microsoft SQL Server 2005 Compact Edition from Visual Studio 2005 IDE?
In my IPAQ, I have been using SQL CE for databases with various sizes without any problem. I am creating the databases on my desktop using VS 2005. After I moved to VISTA, I have upgraded my VS 2005 to SP1 and SQL CE to 3.1. My databases which were created before worked without any problem. After I have created my databases via 3.1 on the desktop and moved them to Mobile, I had problems.
1. I specify Max database size parameter as the size of the database 2. If the size of the database is smaller than 16 then I specify 128 3. If the database is old version then program runs without any problems whatever the database size is 4. If the database is created with 3.1 and size is small (20MB, 60MB, etc) no problems arise 5. Ä°f the databse is created with 3.1 and size is large (133MB, 174MB) then dbconnection.Open() command runs indefinitely and program hangs up .
My IPAQ runs "Microsoft Pocket PC Version 4.20.1081" and desktop runs VISTA Home Premium. I have installed VS 2005 SP1.
I'm setting up replication for the 1st time following the steps in the Books Online to get it up and running:
ms-help://MS.SSCE.v31.EN/ssmmain3/html/5a82aa7a-41a3-4246-a01a-2b1e4b2fdfe9.htm. Anyhow, I get down to the section labeled - Create a new SQL Server Compact Edition database and am having a problem. I open SQL Server Management Studio as instructed. I click Connect and then am supposed to select SQL Server Compact Edition - yet can't find that option. And, yes, I've installed Compact Edition on my development laptop. So, how do I get this option so that I can create the local DB for Compact Edition and continue development? UPDATE: Ok, duh moment, I have SQL Server Management Studio Express loaded on my laptop, so did not have the option. I've attempted to uninstall SQL Server Management Studio Express and install the full version from the SQL Server CDs. However, when I go to install the full version it tells me that the management tools are already installed and won't let me install anything. So, how do I get around this so that I can install full version of SQL Server Management Studio and then get the option to connect to the SQL Server Compact Edition? Any help will be appreciated. UPDATE 2: Ok, figured it out. You can't just uninstall SQL Server Management Studio express, you must go in to Add/Remove Programs, SQL Server 2005, Change. Then select to uninstall the Workstation components. Then you can go use the SQL Server install discs to install the full blown SQL Server Management Studio along with the other Workstation components. Thanks ... David L. Collison Any day above ground is a good day!
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.
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 ------------------------------
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
Hi All ...I have been following the MS on-line tutorials to get replication setup between SQL Server 2005 and SQL Server Compact Edition. I get to the point where I run the Configure Web Synchronization and it is running through the process where it is doing the automated configuration of the shared directory - assigning users etc.I have attempted this step with a user account that I expressly created for snapshots and with the Administrator account and get the following error message:* The operation completed successfully. (Exception from HRESULT: 0x80070000)At first, I thought this was a rights issue due to the fact that I was using an account that I manually created. However, by using the Administrator account (test only until I can figure this out) that should have removed any rights issues associated with accessing the shared directory where the snapshot will reside.Any help in getting this figured out will be greatly appreciated.David L. Collison Any day above ground is a good day!
==> Is there anything else missing if I intend to use it for development with Visual Studio 2005 (VC++)?
==> What is "Microsoft SQL Server 2005 Compact Edition Developer SDK" compared to the one "SQL Server 2005 Compact Edition" I installed? Should I install it?
3- There is also a link, which btw doesn't work at all, that should allow me to download following item:
"Microsoft SQL Server 2005 Compact Edition Tools of VS 2005 sp1"
==> Not being able to have any infos about it, what is the use of it? Should I install it in my environment? If so, any working link where I can download it from?
4- I finally noted, while browsing through SQL Server 2005 CE books online, the following note:
The following programming models are supported by SQL Server Compact Edition:
ADO .NET, accessible by using C# or Microsoft Visual Basic
OLE DB, accessible by using Visual C++ option from within Visual Studio 2005
==> How come that CE is not accessible using ADO.NET model when using VC++?
My application uses Sql server 2005 Mobile edition and I want to change to
Sql server 2005 Compact edition.
I have an application that automatically upgrade new version of my software at users (customers sites) It is shipped on a memrory card (SD Card).
I want in my upgrade tool to install Sql server 2005 Compact edition so I do it by running the two cab files :
sqlce30.repl.wce5.armv4i.CAB and sqlce30.wce5.armv4i.CAB
It works ok but I want also to uninstall Sql server 2005 Mobile edition and I do not find out how to do it automatically, First I do not know how to find out if Sql server 2005 Mobile edition is installd and if so how to uninstall it.
I want to do it all automatcally in my upgrade utility because my customers do not know to do it manually by theself.
Second I want to know if I have to use the Sql server 2005 Compact edition Uprade tool to upgrade my clients old databases because the now application works ok without Upgrading the database.
Hi Can we use Top Clause in the Select statement while using SQL Server 2005 Compact Edition. If not, is there any other workaround available to achieve same results.
I want to learn if it is possible to develop applications for SQL Server 2005 Compact Edition using .NET Compact version 1.0. The major doubt is the possibility for version 1.0. It is reasonable to deliver SQL Compact Edition redistributables with an application, but this is not great to require ,NET 2.0.
I'm trying to use application designed for 32bit operating system on 64bit (Longhorn beta 2). This application requires SQL Server CE 2005, I installed it (x32) but the application still says that it isn't.
What can be the problem? I suggest the application cannot retrieve information about SQL Server CE installation. But maybe the reason is I need to install something like SQL Server CE for 64bit operating system? Is it present "in native"?
We have been using Sql Server 2005 Compact Edition 3.1 RDA synchronization method successfully on Sql Server 2000 database. Recently we moved the database to Sql Server 2005, sync doesn't work anymore, it just hangs on one table. On further investigation, we found out that it's the index on that table that causes this. We removed the index, it works fine. We are wondering the root cause, removing the index is not a solution for us. Any thoughts?. Thanks.
I have a computer thats running XP 64 bit version. I want to replicate between SQL server 2005 and SQL server 2005 compact edition. But it doesn't works. So i looked for a solution and i came to: http://support.microsoft.com/kb/912430 This page is telling me:
You cannot replicate data from SQL Server 2005 to SQL Server Compact Edition by using the 64-bit version of IIS
Is that a problem that can be solved by not using a other Operating System?
Or can you maybe install a 32-bit IIS on XP 64 bit?
I have a SQL Server 2005 (build 9.0.3050) database with tables belonging to different schemas. I am in the process of developing a Windows Mobile 5.0 application that will work against this database, and I€™m planning to use Remote Data Access with SQL Server 2005 CE to synch data.
I have my RDA all set up and working correctly IIS-wise, and have no problem pulling a table from my database. However, when I attempt to push a modified table back to the database, I get an €˜Internal error: Failure setting up bindings, possibly caused by insufficient permissions.€™ error (which equates to error 28621: SSCE_M_BINDINGS), which according to http://msdn2.microsoft.com/en-us/library/ms172898.aspx is an internal error which €œcannot be resolved by common troubleshooting techniques€?. The €˜insufficient permissions€™ is a red herring I think, since the problem persists even if the SQL Server login that is being used for RDA is in the sysadmin role.
I€™ve attempted to identify the problem by starting from scratch with a new database and a new table with a couple of test columns. With the table freshly created as dbo.TableName RDA works fine. However, when I create a schema and transfer the table to the schema, RDA push fails as above, so to me it looks like the schema is causing the problem.
Anyone any ideas about this? All help greatly appreciated!
I have a problem changing the language setting to swedish on sql server 2005 compact edition. The thing is that I'm using a language dependent format: '1998-02-28 14:23:05' (Numeric) when saving and I rather don't want to change this format, because it's a lot of work. (The default setting on the database seems to be us-english, which has the format month-day-year and there by gets wrong for me).
As I understand, this is detemined by the language settings on login. So I set this by using the 'locale identifier' (sv-SE) in the connection string to the CE database, but when I try to save the data, the datum is still interpreted as us-english format.
(The application I'm running have been upgraded from sql compacte edition 2.0 where this worked just fine, though without specifing any language settings in the connection string.)
We have a plan to use Microsoft SQL Server 2005 Compact Edition RC1 as a backend. Our Front-end is VS .NET (VB.NET).
We want to know how to edit the Compact Edition database (.SDF). Is there any editor is available right now in the market? or microsoft provided any editor for this.
OR Can i use microsoft 2005 sql server standard edition for this.
I am using a Compact Framework 2.0 on a mobile 5.0 with a local Microsoft SQL Compact Edition 2005 database. The backend database is a Microsoft SQL Server 2005 and I am trying to pull a 45000 rows table (the table has 2 varchars(8) forming a primary key and an INTEGER column).
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim DBPath As String
Dim mydr As XmlTextReader = New XmlTextReader(m_sXMLFileName) mydr.WhitespaceHandling = WhitespaceHandling.None
While mydr.Read() ' Look for the <configuration> section ' This lets us add several peices in the config file If mydr.Name = "DBPath" Then DBPath = mydr.Name End If End While mydr.Close()
Me.MobileDataTableAdapter.Connection.ConnectionString = "Data Source =""Program FilesCEdatabaseMobileDatabase.sdf"";" Try If MobileDatabaseDataSetUtil.DesignerUtil.IsRunTime Then 'TODO: Delete this line of code to remove the default AutoFill for 'MobileDatabaseDataSet.MobileData'. Me.MobileDataTableAdapter.Fill(Me.MobileDatabaseDataSet.MobileData) End If
Catch ex As SqlCeException MessageBox.Show(ex.Message) End Try End Sub
How Can I get Identitiy field from database while inserting new row in sql server 2005 compact edition.
Ex:
I am inserting row in a table through SqlQuery ("insert into ....") in which one of the field is of type Identity which generates number automatically. I want that number to pick up that number and used it in child table....
I have a question about a problem that I cannot seem to tackle. I have installed the following programs on Windows Vista:
- SQL Server 2005 - Visual Studio 2008 - SQL Server Compact Edition 3.5 - SQL Server Compact Edition 3.5 Server Tools
I want to do the following:
1. I want to create a SQL Server Compact Edition 3.5 database in the SQL Server Management Studio 2. I want my SQL Express server in SQL Server 2005 to be a distributor and publisher
About 1. In SQL Server Management Studio I cannot choose SQL Server Compact Edition 3.5 . ABout 2. I tried to setup my server to be a distrubutor by running a stored procedure with the following name: sp_adddistributor. I get the following error: This edition of SQL Server cannot act as a Publisher or Distributor for replication.
I am using SQL Express 2005 server and sql compact edition for my PDA. For synchronization, which SQL Server 2005 Compact Edition Server Tools installation package do I use?
Is it Sqlce30setupen.msi or sql2kensp4.msi or sql2kensp3a.msi? I know for sql server 2005 its Sqlce30setupen.msi. Is it the same for the SQL Express 2005?
For various reasons a new desktop application I am developing is using the SQL Server 2005 Compact Edition Release Candidate to store local data. On my development machine (XP SP2, VS2005, SQL Server 2005 Developer Edition) the software is able to create the database file, and read and write to it fine.
However on our test machine, which does not have any of the development tools the software is unable to create the database. A System.Data.SqlServerCe.SqlCeException is thrown. The message is: "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." Obviously this goes somewhat against the blurb for SQL Server CE.
Is this something that will be fixed shortly? Or is it the intention that databases can't be created on machines that do not SQL Server or Visual Studio installed? (Incidentally the reason for creating the database on the fly is that we are encrypting it, using the users credentials, so that only they can open the database.)
I have been following the MS on-line tutorials to get replication setup between SQL Server 2005 and SQL Server Compact Edition. I get to the point where I run the Configure Web Synchronization and it is running through the process where it is doing the automated configuration of the shared directory - assigning users etc.
I have attempted this step with a user account that I expressly created for snapshots and with the Administrator account and get the following error message:
* The operation completed successfully. (Exception from HRESULT: 0x80070000)
At first, I thought this was a rights issue due to the fact that I was using an account that I manually created. However, by using the Administrator account (test only until I can figure this out) that should have removed any rights issues associated with accessing the shared directory where the snapshot will reside.
Any help in getting this figured out will be greatly appreciated.
David L. Collison Any day above ground is a good day!
I am having a problem with creating databases in MS SQL 2005 Server. When I attempt to assign an User Mapping for my SQL user account to the newly created database, the "dbo" user and schema is already assigned. When I try to drop this user in favor of my own, I receive an error message: Cannot alter the user "dbo" (Microsoft SQL Server, Error: 15150). I am connected to my database engine through the "sa" account.
I use Visual Studio 2005 Standard. I would like to know the best way that I can create Sql Server 2005 Express databases visually since VS2005 Std. does not allow me to do it. Any help is appreciated and thanks in advance,
- Noble Bell
I'd be interested in knowing how VS doesn't allow you to create a database. What error are you getting? There are two ways to create databases, depending on your goal:
To just create a database on your server, do the following:
Open the Server Explorer Right-click on Data Connections Click Create New SQL Server Database Specify Server Name and Database Name
Your database will be created and you can start working with it.
Embed a database in your project:
On the Project menu, click Add New Item. Select SQL Database from the list and give it a name. Click OK
This will run you thorugh a wizard to create the database. If your having problems doing either of these, you may not have SQL Server installed on your computer or VS might be pointing to the wrong Instance Name. Check out the Option dialog under Database Tools:ata Connection and verify that the correct instance is specified.
I am trying to create a similar project and I also recieve an error while trying to create a database...
"An error has occured while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could Not Open A Connection to SQL Server."
Now let me explain what i am trying to do ... I am trying to create a web interface for the data that I want to store in the SQL database. I have installed VS2005 & SQL Server Express 2005 on my local machine. I want to develope this project on my local machine and then transfer it to a server once i have finished the project.
If i am doing this all wrong, please let me know !
I use Visual Studio 2005 Standard. I would like to know the best way that I can create Sql Server 2005 Express databases visually since VS2005 Std. does not allow me to do it.