IID_IDBDataSourceAdmin Error Trying To Create A Database Using Query Analyzer On A Mobile Device
Sep 25, 2007
Hi,
Please provide some help regarding the "Interface Defining Error: IID_IDBDataSourceAdmin" error while trying to create a SDF database using Query Analyzer on a Windows CE 5.0 mobile device (Symbol MC3000).
Error: 0x80004005 E_FAIL
Native Error: 28558
Description: SQL Mobile encountered problems when creating database [,,,,]
PS.
Basically I have developed a mobile application that programmatically creates the database, the code worked on a similar device (Win CE 50), trying to run the application on a new device resulted in database creation errors. I tried creating a test database manually .. and this is what I got.
Browsing MSDN or searching on the Forum did not help.
I've written a query to pull data from a SQL Mobile database which seems to completely hang the device when I run it (I waited several minutes before warm-starting). Yes, it's a bit complex, but it works fine on the desktop version--completes pretty much instantly.
Are there any limits to SQL Mobile that might prevent me from writing such a query? There are not very many records in any of the tables (all are <20, except one which is ~2500).
I have a desktop application that uses SQL Server Compact Edition. I will soon have a mobile application that will use the same database. How can I (at runtime of the desktop app, say when the user clicks a button) transfer the sdf file to the mobile device? I'm not necessarily interested in synchronizing the databases, simply overwriting the database on the mobile device with the one on the desktop would suffice.
I developed a mobile application PDA using the Compact Framework 2.0. And using typed datasets
I have also developed a web service. When the PDA is connected to the Internet it can access the web service and get all the data that is in the sql database. The user can add new records, update existing records, and delete them. So the web service acts like a middle man.
In the PDA the data is filled using typed datasets.
However, the customer now wants to be able to interact with there data on the PDA, currently they have to be connected to the Internet. But if there is no internet connection, then they will still like to add, update, and delete the records. Then once they have a connection, all these would be updates with the sql database.
Dear All, i have a question abt winCE 4.2 and SQL server CE. i am using VB.net of Visual Studio 2005 My platform is using a PDA with winCE 4.2 and SQL server CE. The Host program is using dbf files on desktop side.
I got a problem of how to sync / read the sql CE data from a windows application.
so, i wanna ask,
1. any method to access the data from winCE data by windows application? or can i convert the sdf file to windows readable files? or any others?
2. Can i use a MDB to sync with SQL server CE? can i synchronize the mobile device which has a SQL Server CE database with the Access database on the desktop?
last question, 3. is that windows CE .net 4.2 not support pocket access (cdb) anymore?
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 read a lot of your post about the mobile device connecting SQL Server. I try to solve my problem, but i still in trouble of Mobile database application.
The following is my development enviroment
Visual Studio .net 2005 Sql Server 2005 Windows CE.Net 4.2 Microsoft ActiveSync 4.2
First i can run some simple application on the Mobile Device( Symbol MC9060G Mobile Device), all the connection between develop PC and Mobile Device is fine. All the develop SDK for the Mobile device without problem.
Secont, i can develop a simple normal windows database application, work fine, can get data from SQL Server 2005. the connection to database server is fine.
I used VS2005 develop a simple database with DataGrid on the form( all the code generated by the VS 2005), when run the program, got error at " int returnValue = this.Adapter.Fill(dataTable)" error "PlatformNotSupportedException". I don't know what's going on.
I think the connection to the database no problem. Maybe the Mobile device has problem. I insatlled sql.ppc.wce4.armv4.cab file to mobile device.
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()
I have an SDF using SQLCE 2.0. When I run the app on a Pocket PC device running Windows Mobile 5.0 I get 0x80004005 and 0x80040e21 errors. The same app executes fine on PPC 2003.
The app is written in VC++ using and uses the SQLCE OLEDB Provider to access the SDF. It is complied with eVC 4.0
I am using web service to synchronize data between SQL Server 2005 on a desktop and a SQL Server Mobile Edition on a mobile device.
Initially, when i added the data source to my mobile application, my .sdf only has 3 records. I am then supposed to retrieve 97 more records from the desktop server when my mobile application runs. After performing merging, I clicked (on my device emulator) on the .sdf deployed under my mobile application and the query analyzer showed all 100 records.
Does this mean my mobile database has been successfully updated with all 100 records? If not, how do I check that? The reason why I am asking this is that the file size of this .sdf with 100 records is still the same as the initial .sdf with only 3 records. How is this possible?
Am I missing anything or getting some concepts wrong? Please enlighten. Thanks.
I have set up a locahost site in IIS using the "Configure Web Synchronization Wizard". One of the first test I was asked to do was to open a broweser and browse to http://localhost/MobileTest/sqlcesa30.dll
If all is well I should get a web page with the following line:
SQL Server Mobile Server Agent 3.0
But unfortunately I get an error stating : "The server has encountered an error while loading an application during the processing of your request. Please refer to the event log for more detail information. Please contact the server administrator for assistance."
I checekd the Event log and found this error related the IIS launch process on my machine.
DCOM got error "Logon failure: unknown user name or bad password. " and was unable to logon .IWAM_Rataq in order to run the server:
where Rataq is the name of my machine. Could my IWAM_Rataq account be corrupted, my other sites on the machine work.
Infact if i put in a Test.htm page in the virtual directory MobileTest I am able to browse to the page.
Can the Account be re-set? is there another problem that I am not aware of. I have Norton Internet 2006 running could that be the reason? Could Norton be blocking the dll from loading? But the event log states it is a Account error.
Any ideas why this might occur? any help is always appreciated
use AFMIF EXISTS (SELECT * FROM sysobjects WHERE type = 'U' AND name='uye_idler') drop table uye_idlerCREATE TABLE uye_idler ( uye_no int NOT NULL, ) GO DECLARE @uye_numarası int Set @uye_numarası = 1 WHILE @uye_numarası < 15001 BEGIN INSERT INTO uye_idler VALUES (@uye_numarası) Set @uye_numarası = @uye_numarası + 1 EndHi , I am able to create 15000 records by the codes above .By the same way I want to create random texts as ASD ,WER,SAD,DFG etc. How can I do this ? Thanks ...
Since my experience in VS is extremely limited, i'd like to be exused if questions sound silly.
My problem is that, at my device application project, i want to build a database that will retrieve data from .xls, or .csv, or .txt, or .mbd files. If i've noticed well, there is no support for OLEDB or ODBC, since by the time that i add tableadapter to my database.xsd and use these, after insertion i get multiple errors informing that system.data.oledb. .... or .odbc "type is not defined".
If it cannot be done, and since i still try to figure out how smart devices function, transact with databases, e.c.t. is there any suggestion?
I have searched through this forum and the news group
microsoft.public.sqlserver.ce
for this topic. I only find a post from Darren Shaffer and I requested a document.
Unfortunately, there is not a clear example of how to create a mobile database (sdf) on a desktop machine which contains VS 2005 and SQL server 2005 by using Visual Basic 2005.
I am sure a clear example in VB for this problem would help a lot of people. Hence anybody who knows how to perform this task, Please help these people.
when i try to open the connection I get SqlException,altough the 10.0.0.11 machine is reachable.. is not allowed to access a remote sql server with ip?
I have been unable to properly install SQL Mobile 2005 on my armv4i windows CE 5 device. Below is a summary of what I have found and done. Any help in resolving my issue will be appreaciated. Thanks in advance for your help.
Symptoms:
No errors occur during installation of SQL Mobile on the device via cab files (either deployed through VS2005 or manually copied and installed on the device)
SQL Mobile 2005 appears to be installed, can see it in the device remove programs list. All 7 SQL Mobile dll files are present in the windows folder. (sqlceca30.dll, sqlcecompact30.dll, sqlceer30en.dll, sqlceme30.dll, sqlceoledb30.dll, sqlceqp30.dll, sqlcese30.dll - version for all files is 3.0.5206).
The following error occurs when attempting to create a new or open an existing database using SQL Mobile query analyzer on the device - "Failed to initialize the provider. Please make sure that SQL Server Mobile Edition is properly installed".
Problem is not isolated to SQL Mobile query analyzer, a similar problem occurs when attempting to instantiate SQL objects from within a C#.Net smart device test program - "Can't find PInvoke DLL 'sqlceme30.dll'.
Problem is not solved by copying SQL Mobile dll files to program folders.
No registry entries exist for any of the 7 SQL Mobile dll files under the HKEY_CLASSES_ROOT.
None of the dll files for SQL Mobile can be registered manually via the regsrvce.exe program. The error code c1 is returned - invalid win32 application (Note SQL CE 2.0 dll files can be successfully registered via this program).
Background:
The desktop used for development is running Windows 2000 sp4. The develpment enviroment is Visual Studio 2005 Professional Edition (version 8.0.50727.42 (RTM.050727-4200). The version of the Microsoft .NET Framework installed is 2.0.50727. The programming language is C#.NET. The device is a 64 MEG Armv4i device running a custom image of windows CE5. The CE5 image was created by Platform Builder with all QFE's through 2005 applied. .NET Compact Framework version 1.0.4292 and SQL CE version 2.0 are included as part of the image (both are in ROM). .NET Compact Framework version 2.0.5238 and SQL CE Mobile are installed via CAB files in the order defined below:
I am using the SQL Reporting services with SQL Server 2005. I am able to view my reports in the report manager however, when the report generates on my device it shows blank of 0 pages. I created a simple test report with just a header, company's logo and contact info and still no luck. I am using anoynomous user access and have given IUSR datareader access in SQL Server. Not sure where I am going wrong. I feel like I am so close...If someone out there had any success viewing reports on mobile device (WM5.0) and would be so kind to share their experience or knowledge, I would greatly appreciate it!
I want to create an application for home users which runs on their mobile device (smartphone) and their desktop PC and keeps the data synchronized between them. On their desktop I want to run either SSCE or SSExpress. There are so many options in the SSCE literature, which options should I use? How do I synchronize the data? The literature has so many options I don't know where to start.
Hi, I'm writing a windows application using VB.NET 2005 that must connect to Pocket PC via ActiveSync to read data from SQL Server CE. This is my code:
I just upgraded our application from SSCE 2.0 to SQL Mobile. Our app is written in C++, and we use OLE DB for most of our queries, including the routine the downloads and inserts our lookup table data. This application is running on a Dell Axim X51.
Using SSCE 2.0, this routine takes 236 seconds, with most time spent inserting data into various tables (using OLE DB). The resultant database size is 15.1 MB.
Using SQL Mobile, this routine now takes 675 seconds, with a resultant database size of 27.9 MB!! There is a noticable increase in time when the downloaded data is being inserted into the database.
What would be the reason(s) for the slower performance and the increased size of the database? This appears to be a monumental step backwards in performance. Any suggestions regarding improving the perfomance and size?
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 ?
I have a Fujitsu-Siemens LOOX 520 running WM 5 version 5.1.70 on which I am trying to create a Server 2005 Mobile database.
I have installed the following files on the Pocket PC after a hard reset to make sure the unit was in its vanilla state:
NETCFv2.wm.armv4i.cab
sqlce30.dev.ENU.ppc.wce5.armv4i.CAB
sqlce30.ppc.wce5.armv4i.CAB
sqlce30.repl.ppc.wce5.armv4i.CAB
All the files appeared to succesfully install. Connecting to the device in VS2005 works with no problems. Creating a small test app in VB.NET and running it on the device works no problems, so the device is satisfactorily connected to VS2005.
My problem is this:
When I try to create an SQL Server 2005 Mobile database on the device using Add Connection under the Data Sources window in Visual Studio 2005 Professional (RTM version), I get the following error:
"Microsoft SQL Server 2005 Mobile Edition and/or .NET Compact Framework v2.0 is not properly installed on your mobile device or the device is not responding."
Trying the same thing in Microsoft SQL Server Management Studio gives the same error, but a little bit of extra information:
"Microsoft SQL Server 2005 Mobile Edition and/or .NET Compact Framework v2.0 is not properly installed on your mobile device or the device is not responding. (SQL Server Mobile Edition ADO.NET Data Provider)"
As far as I can see, everything IS installed OK, so why is VS2005 not working?
Can I write a dll(or share the same code) that works on both Mobile device and pc? Since we are using compact edition, we are hoping we can write some common module with the same code that could works on both mobile device and pc platform. I noticed the reference is the same, System.Data.SqlServerCe.dll 3.0.
Another question is, we already have a module for SQLCE2.0, with .net CF1.0. Now, we will start to use compact edition, should we just update on the 1.0 one, or we have to write a different one based on .net CF2.0? Can I use compact edition in CF1.0 dll?
I have a project that requires that I filter certain data going to the mobile device via the publication based on user selected value on the mobile device. (Filter by location based on the selection of the location on the mobile prior to syncronization).
Now, our current authentication model is Windows Authentication, and changing that to Username based authentication is not feasable, and using the users account to pass that value to the database is the only way I can think of to do this... (Then filter based on username)
But then I thought that there has to be another way - such as passing a variable or parameter to the sync request during or before syncronization... Is this possible? If I could query the data being sent back up to the server, for instance, I could do so to retrieve the value I need.... Any ideas?
I have code that creates a SQL Mobile database on a server. It has worked in many environments, but I have one customer experiencing an issue. It will not create the database on their server. I would appreciate any thoughts.
The exact error message I get is "the operating system does not support encryption"
I am getting it on the line: SQLCeEngine.CreateDatabase()
Here is the code: SQLCeEngine = New SqlServerCe.SqlCeEngine(SQLConnectionString) ReturnValue += ": Declare new" SQLCeEngine.CreateDatabase() ReturnValue += ":Create" SQLCeEngine.Dispose() ReturnValue += ": Dispose"
Here is the error message I get from our application- the part after Err: is the actual error message from the system: Data Source = D:EVADATAWebServiceDownloads est;Password=test;Persist Security Info=False;: Declare new:Error!:Err:The operating system does not support encryption.
When I go into SQL Express and create a SQL Mobile database using it, it can be created. So, I have to believe it can be done on the server, but I don't know why the code can not do it. (e.g. FileConnect Object ExplorerServer Type: SQL Server compact Edition and create a database). The database is successfully created if I do it manually this way. It even creates fine if I select the 'Encrypt' button.
The machine is a Windows 2000 Server sp4 version 5.00.2195 SQL 2000 is installed SQL 2005 Express is installed I ran the SQLServerCE31-EN.msi file and it is installed. (I have also re-run and repaired it) I have also copied over the newest version of our code from scratch.
I'm trying to get my first replication going, and I have set up a database successfully, along with merge replication, however when I attempt to create the first subscriber, I get a permissions issue, regardless of what I do. In the SQLCESA30.LOG file, I get the following entries:
I posted the initial thread under the "Replication" forum, but am including this 'pointer' post here due to a lack of replies there, and the relevance of this thread to this forum. Please see http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=193693&SiteID=1 for more details.
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?).
I use my Pocket PC XDA O2 mini for 2 years already and I don't have any problems when I sync it with my previous laptop which has Window XP operation system.
A few months ago, I bought a new laptop with Window Vista operation system, I could not sync my O2 mini with my PC. Then, I download Windows Mobile Device Center but my computer still could not recognize my O2 mini. My O2 mini has window mobile 2003 Second Edition Version 4.21.1088 operation system. Please let me know if you have any advices.