Showing posts with label mobile. Show all posts
Showing posts with label mobile. Show all posts

Wednesday, March 7, 2012

RDA with Linked Servers

I am developing a WM5 program (C#.NET) using SQL Server Mobile, using RDA to pull and push data from/to SQL2005.

The question/issue is this: Does RDA work with linked servers, more specifically, if the RDA table is an Oracle table accessed through a linked server? I have a linked server defined in SQL2005, using the .NET Oracle provider (MSDAORA) linked to Oracle 10g. When I try to perform an RDA PULL operation from Windows Mobile 5 (Smartphone emulator) I get the following error:

“The query cannot be tracked. There might not be a primary key, or the query might involve multiple tables. [ Query string = SELECT * FROM DATABASE_NAME..SCHEMA_NAME.TABLE_NAME ]”

I have used at least 3 different test tables in Oracle, trying different options. The error message above implies that the table may not have a primary key but it does (constraint and index) and I have tried a few options with this. The message also implies that multiple tables may be involved but this is not the case either. I have tried variations on the select statement including specifying the columns. I tried building the CREATE TABLE statements with the PK using SQLServer to generate the SQL DDL to see if SQLServer might build the table, constraint, index with options the way it wants to see them – same result.

I can run most any queries (select, insert, etc.) from SQLServer using the linked server and the queries work. The only problems involve RDA to the linked server.

I tried turning tracking off on RDA and was able to pull the entire table from the linked server. However, RDA requires that you can only push a tracked table (change tracking on). I tried to push a non-tracked table and it fails.

Make sure that the table you are referring to is under DBO schema. If it is under any other schema, then RDA might be encountering problem in finding the Primary Key for that table.

Let me know the details after your trials!

Thanks,

Laxmi Narsimha Rao ORUGANTI, SQL Server Everywhere, Microsoft Corporation

|||

All of the objects in the SQL2005 database are in the dbo schema. However, the query from RDA pull references an Oracle table in a named schema, using 4-part name notation "SELECT * FROM DATABASE_NAME..SCHEMA_NAME.TABLE_NAME " per the SQL2005 distributed query guidelines. In this case, the credentials for the linked server Oracle access are for the owner of the named schema.

Thanks,

MattR-KS

|||

Hi Matt,

Just to narrow down the problem. What happens when you are pulling a table in a named schema from SQL Server than from oracle via linked SQL Server. What I mean is have the table in a name schema in SQL Server itself and do a RDA with that.

Thanks,

Laxmi Narsimha Rao ORUGANTI, SQL Server Everywhere, Microsoft Corporation

RDA with Identity column.

Hi Everyone:

I am new to Mobile programming. I am now working on a mobile project. I encounter an issue when I sync the data:

cause I can't modify the schema, so I have to use RDA instead of Merge replication on sql server 2005.

However, There is an identiy column on each table I will pull them down to local mobile database. And I will use those identity columns to connect tables. Even worse, the photo's new name will combine the photoID which is an identity column. There would an issue, if i sync data, the photoID would be same on different local mobile databases. And there would be generate same identity value when users sync data.

How can I avoid those issues? If you have any good ideas, please help me out so that I can meet the project deadline.

Thanks

James

Anyone knows how to manually handle identity management.

Cause my identity column will clash when Sync data.

James

|||

You need to call

ALTER TABLE <TableName> ALTER COLUMN <ColumnName> <ColumnDataType> IDENTITY(<Seed>,<Step>)

to set the different identity on the pulled table.

Note, only Seed and Step can be changed in the above table.

Thanks,

Laxmi Narsimha Rao ORUGANTI

|||

Hi Laxmi,

Thank you for your reply. I realize that I can use the command you gave to change the SEED range to avoid the clash. But if I change seed, when I push the data back to Remote SQL server 2005 database, should I disable the identity column on remote database, then push mobile client table data, then set identity column back on remote DB. It seems lots of work to manually handle identity column clash. Do we have any alternative way to do it, since I can't use merge replication to change the database schema, what about XML web service? I think should be same, but if we use Web Service, the performance should be down 10-15%, that's why i don't wanna use it since we choose SQL server 2005 as our database.

Your reply is really appreciated. Thanks!

James

|||

I need to point is that someone will work on remote db through classical ASP. If I change the identity Seed. It will effect mobile client?

If anybody has the same issues?

Thanks

James

|||

No need to worry about disabling the IDENTITY on server. RDA while pushing automatically does "SET IDENTITY_INSERT <TableName> ON/OFF" on SQL Server to get the same IDENTITY column values onto the server table.

Thanks,

Laxmi

|||

Thank Laxmi,

your reply does help me. I will try it out. But we have 200 hundred of Mobile clients. We have to set the identity range for each one.

Any other good ideas for solving the identity clash.

Thanks.

James

|||That is why there is Merge Replication! Why not go for that?|||

Because I can't modify the Sql server 2005 DB schema. They are using identity ID. I wish I could use Merge replication. I can save my code lines as well.

Thank you . Laxmi. You are the rock!

James

|||Same here, merge replication is not a option.

Anyone found a suitable solution for this challenge?

Thanx
|||What I have done is to set the ID range for each person. So that they won't clash.

RDA with Identity column.

Hi Everyone:

I am new to Mobile programming. I am now working on a mobile project. I encounter an issue when I sync the data:

cause I can't modify the schema, so I have to use RDA instead of Merge replication on sql server 2005.

However, There is an identiy column on each table I will pull them down to local mobile database. And I will use those identity columns to connect tables. Even worse, the photo's new name will combine the photoID which is an identity column. There would an issue, if i sync data, the photoID would be same on different local mobile databases. And there would be generate same identity value when users sync data.

How can I avoid those issues? If you have any good ideas, please help me out so that I can meet the project deadline.

Thanks

James

Anyone knows how to manually handle identity management.

Cause my identity column will clash when Sync data.

James

|||

You need to call

ALTER TABLE <TableName> ALTER COLUMN <ColumnName> <ColumnDataType> IDENTITY(<Seed>,<Step>)

to set the different identity on the pulled table.

Note, only Seed and Step can be changed in the above table.

Thanks,

Laxmi Narsimha Rao ORUGANTI

|||

Hi Laxmi,

Thank you for your reply. I realize that I can use the command you gave to change the SEED range to avoid the clash. But if I change seed, when I push the data back to Remote SQL server 2005 database, should I disable the identity column on remote database, then push mobile client table data, then set identity column back on remote DB. It seems lots of work to manually handle identity column clash. Do we have any alternative way to do it, since I can't use merge replication to change the database schema, what about XML web service? I think should be same, but if we use Web Service, the performance should be down 10-15%, that's why i don't wanna use it since we choose SQL server 2005 as our database.

Your reply is really appreciated. Thanks!

James

|||

I need to point is that someone will work on remote db through classical ASP. If I change the identity Seed. It will effect mobile client?

If anybody has the same issues?

Thanks

James

|||

No need to worry about disabling the IDENTITY on server. RDA while pushing automatically does "SET IDENTITY_INSERT <TableName> ON/OFF" on SQL Server to get the same IDENTITY column values onto the server table.

Thanks,

Laxmi

|||

Thank Laxmi,

your reply does help me. I will try it out. But we have 200 hundred of Mobile clients. We have to set the identity range for each one.

Any other good ideas for solving the identity clash.

Thanks.

James

|||That is why there is Merge Replication! Why not go for that?|||

Because I can't modify the Sql server 2005 DB schema. They are using identity ID. I wish I could use Merge replication. I can save my code lines as well.

Thank you . Laxmi. You are the rock!

James

|||Same here, merge replication is not a option.

Anyone found a suitable solution for this challenge?

Thanx|||What I have done is to set the ID range for each person. So that they won't clash.

RDA with Identity column.

Hi Everyone:

I am new to Mobile programming. I am now working on a mobile project. I encounter an issue when I sync the data:

cause I can't modify the schema, so I have to use RDA instead of Merge replication on sql server 2005.

However, There is an identiy column on each table I will pull them down to local mobile database. And I will use those identity columns to connect tables. Even worse, the photo's new name will combine the photoID which is an identity column. There would an issue, if i sync data, the photoID would be same on different local mobile databases. And there would be generate same identity value when users sync data.

How can I avoid those issues? If you have any good ideas, please help me out so that I can meet the project deadline.

Thanks

James

Anyone knows how to manually handle identity management.

Cause my identity column will clash when Sync data.

James

|||

You need to call

ALTER TABLE <TableName> ALTER COLUMN <ColumnName> <ColumnDataType> IDENTITY(<Seed>,<Step>)

to set the different identity on the pulled table.

Note, only Seed and Step can be changed in the above table.

Thanks,

Laxmi Narsimha Rao ORUGANTI

|||

Hi Laxmi,

Thank you for your reply. I realize that I can use the command you gave to change the SEED range to avoid the clash. But if I change seed, when I push the data back to Remote SQL server 2005 database, should I disable the identity column on remote database, then push mobile client table data, then set identity column back on remote DB. It seems lots of work to manually handle identity column clash. Do we have any alternative way to do it, since I can't use merge replication to change the database schema, what about XML web service? I think should be same, but if we use Web Service, the performance should be down 10-15%, that's why i don't wanna use it since we choose SQL server 2005 as our database.

Your reply is really appreciated. Thanks!

James

|||

I need to point is that someone will work on remote db through classical ASP. If I change the identity Seed. It will effect mobile client?

If anybody has the same issues?

Thanks

James

|||

No need to worry about disabling the IDENTITY on server. RDA while pushing automatically does "SET IDENTITY_INSERT <TableName> ON/OFF" on SQL Server to get the same IDENTITY column values onto the server table.

Thanks,

Laxmi

|||

Thank Laxmi,

your reply does help me. I will try it out. But we have 200 hundred of Mobile clients. We have to set the identity range for each one.

Any other good ideas for solving the identity clash.

Thanks.

James

|||That is why there is Merge Replication! Why not go for that?|||

Because I can't modify the Sql server 2005 DB schema. They are using identity ID. I wish I could use Merge replication. I can save my code lines as well.

Thank you . Laxmi. You are the rock!

James

|||Same here, merge replication is not a option.

Anyone found a suitable solution for this challenge?

Thanx|||What I have done is to set the ID range for each person. So that they won't clash.

RDA SQL MOBILE ERROR 28037 HResult = -2147012867

I am modifying the aplication to visual.net from visual studio 2005 but I have problems ( in this moment i working in my pc , with sql 2000 personal ,windows xp , sql mobile and pc pocket emulator for window ce 5.0)

I don't know but i can't make the Pull in the server.

1) the http://localhost/driver2005/sqlcesa30.dll?diag is correct

2) I don't have the windows firewall

3)the anonimous user have all the permition in the virtual directory..

Where is the error ?

Thanks

Have you granted permissions on the database itself for the anonymous IIS account (IUSR_{yourservername}) ?

You are experiencing a permissions problem between the ISAPI DLL that brokers RDA (sqlcesa30.dll) and SQL Server with this error.

-Darren

|||

Yes,in the IIS the ISAPI dll are allows and the anonymous account has total access in th database.

the problems continue, but in this moment the error is the 28017 with the Message = "An incorrect or unsupported HTTP function call was made."

Thanks

|||I found the solution . The problems was that the sqlcesa30.dll must be int the wwwroot directory.|||I am also facing the same problem, infact i copied the dll file into wwwroot directory but still getting the same error 'in correct or unsupported HTTP function call was made'.
Can you please help me ...
this error is quite frustating

RDA SQL MOBILE ERROR 28037 HResult = -2147012867

I am modifying the aplication to visual.net from visual studio 2005 but I have problems ( in this moment i working in my pc , with sql 2000 personal ,windows xp , sql mobile and pc pocket emulator for window ce 5.0)

I don't know but i can't make the Pull in the server.

1) the http://localhost/driver2005/sqlcesa30.dll?diag is correct

2) I don't have the windows firewall

3)the anonimous user have all the permition in the virtual directory..

Where is the error ?

Thanks

Have you granted permissions on the database itself for the anonymous IIS account (IUSR_{yourservername}) ?

You are experiencing a permissions problem between the ISAPI DLL that brokers RDA (sqlcesa30.dll) and SQL Server with this error.

-Darren

|||

Yes,in the IIS the ISAPI dll are allows and the anonymous account has total access in th database.

the problems continue, but in this moment the error is the 28017 with the Message = "An incorrect or unsupported HTTP function call was made."

Thanks

|||I found the solution . The problems was that the sqlcesa30.dll must be int the wwwroot directory.|||I am also facing the same problem, infact i copied the dll file into wwwroot directory but still getting the same error 'in correct or unsupported HTTP function call was made'.
Can you please help me ...
this error is quite frustating

RDA SQL MOBILE ERROR 28037 HResult = -2147012867

I am modifying the aplication to visual.net from visual studio 2005 but I have problems ( in this moment i working in my pc , with sql 2000 personal ,windows xp , sql mobile and pc pocket emulator for window ce 5.0)

I don't know but i can't make the Pull in the server.

1) the http://localhost/driver2005/sqlcesa30.dll?diag is correct

2) I don't have the windows firewall

3)the anonimous user have all the permition in the virtual directory..

Where is the error ?

Thanks

Have you granted permissions on the database itself for the anonymous IIS account (IUSR_{yourservername}) ?

You are experiencing a permissions problem between the ISAPI DLL that brokers RDA (sqlcesa30.dll) and SQL Server with this error.

-Darren

|||

Yes,in the IIS the ISAPI dll are allows and the anonymous account has total access in th database.

the problems continue, but in this moment the error is the 28017 with the Message = "An incorrect or unsupported HTTP function call was made."

Thanks

|||I found the solution . The problems was that the sqlcesa30.dll must be int the wwwroot directory.|||I am also facing the same problem, infact i copied the dll file into wwwroot directory but still getting the same error 'in correct or unsupported HTTP function call was made'.
Can you please help me ...
this error is quite frustating

RDA Push with Identity column

Hi Everyone:

I am new to Mobile programming. I am now working on a small mobile app.

I encounter an issue when I sync the data:

Using RDA Pull, I can create the database and populate my table fine on my pocket pc device.

After updating the data on the device, I encounter an error when I try to Push my table back to the back-end SQL Server 2005 DB.

Error: "The identity range was not established."

VB CODE:
Private Sub RdaConnKeyHeaderPush()

Dim RemoteAccess As New Data.SqlServerCe.SqlCeRemoteDataAccess
Dim RDAConnectingString As String
RemoteAccess.InternetLogin = "<mylogin>"
RemoteAccess.InternetPassword = "<mypassword>"
RDAConnectingString = "Provider=SQLOLEDB;Persist Security Info=True;Data Source=<MySQLServer>;Initial Catalog=MobileKeyDB;" & _
"User ID=MobileUser;Password=<mypassword>"
RemoteAccess.InternetUrl = "https://www.<mysite>.com/SQLMobile/sqlcesa30.dll"
RemoteAccess.LocalConnectionString = "Data Source=Program Files\SQL Mobile\en\MobileKeyDB.sdf; Password = <mypassword>"
Cursor.Current = Cursors.WaitCursor
Try

RemoteAccess.Push("KeyHeader", RDAConnectingString, Data.SqlServerCe.RdaBatchOption.BatchingOn)

Catch RDAConnectionException As Exception
MessageBox.Show("Can not push Header Data: " & RDAConnectionException.ToString, "Loading Key Tracker")
Finally

RemoteAccess.Dispose()
End Try
Cursor.Current = Cursors.Default
End Sub

TABLE DEFINITION:
USE [MobileKeyDB]
GO
/****** Object: Table [dbo].[KeyHeader] Script Date: 07/11/2007 09:48:24 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[KeyHeader](
[trans_id] [int] IDENTITY(1,1) NOT NULL,
[user_id] [int] NOT NULL,
[date_stamp] [datetime] NOT NULL,
[signature] [nvarchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[status] [int] NOT NULL,
[id] [int] NOT NULL,
[date_stamp2] [datetime] NOT NULL,
CONSTRAINT [PK_KeyHeader] PRIMARY KEY CLUSTERED
(
[trans_id] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

Anyone have any insight on a solution? Thanks.

For synch scenarios, you should always avoid identity columns, for an elaboration, see http://blogs.msdn.com/synchronizer/archive/2007/06/28/stay-away-from-auto-increment-columns.aspx|||

Ok....then I will try using the unique identifier.

My problem is here that I am unsure of how to add the guid to my insert statement in my application.

I have a dataset created that has an Insert menthod for a my table.

How do I set the properties of this Insert statement to use a GUID in it's execution?

Thanks.

|||Modify your insert command to use NEWID(), see http://msdn2.microsoft.com/en-us/library/ms173249.aspx|||

Ok...thanks for your help.

I tried inserting the NEWID() method into my sql insert statement, however when I run my application in debug mode,

I get an Null Value Exception on that UniqueIdentifier field....what would the best way to identify where and why this is happening?

The error occurs when I try to close the form by clicking 'ok' after entering a record......

Error....

NoNullAllowedException was unhandled

Column 'ID' does not allow nulls.

Code Point where error is generated....

Private Sub KeysEditViewDialog_Closing(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing

Me.KeysBindingSource.EndEdit()

End Sub

Some Dataset Code.....is the null error on the sql side or app side, I am not sure of this?

Me._adapter.InsertCommand = New System.Data.SqlServerCe.SqlCeCommand

Me._adapter.InsertCommand.Connection = Me.Connection

Me._adapter.InsertCommand.CommandText = "INSERT INTO Keys"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" (key_number, key_desc, building, inv_qty,"& _

" avail_qty, id)"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"VALUES (@.p1, @.p2, @.p3, @.p4, @.p5, NEWID())"

Me._adapter.InsertCommand.CommandType = System.Data.CommandType.Text

param = New System.Data.SqlServerCe.SqlCeParameter

param.ParameterName = "@.p1"

param.Size = 100

param.IsNullable = true

param.SourceColumn = "key_number"

Me._adapter.InsertCommand.Parameters.Add(param)

param = New System.Data.SqlServerCe.SqlCeParameter

param.ParameterName = "@.p2"

param.Size = 100

param.IsNullable = true

param.SourceColumn = "key_desc"

Me._adapter.InsertCommand.Parameters.Add(param)

param = New System.Data.SqlServerCe.SqlCeParameter

param.ParameterName = "@.p3"

param.Size = 100

param.IsNullable = true

param.SourceColumn = "building"

Me._adapter.InsertCommand.Parameters.Add(param)

param = New System.Data.SqlServerCe.SqlCeParameter

param.ParameterName = "@.p4"

param.DbType = System.Data.DbType.Int32

param.Size = 4

param.IsNullable = true

param.SourceColumn = "inv_qty"

Me._adapter.InsertCommand.Parameters.Add(param)

param = New System.Data.SqlServerCe.SqlCeParameter

param.ParameterName = "@.p5"

param.Size = 100

param.IsNullable = true

param.SourceColumn = "avail_qty"

Me._adapter.InsertCommand.Parameters.Add(param)

RDA Pull Problem: Command=PULL Hr=80040E4D Login failed for user 'test'

Hi all,

I have following problem:

I'm developing a Windows Mobile application, which is using RDA Pull for retrieving data from SQL Server 2005 database to PDA. Please, see the example:

Code Snippet

using (SqlCeEngine engine = new SqlCeEngine(connStr))

{

engine.CreateDatabase();

}

serverConnStr="Provider=SQLOLEDB;Data Source=.;User ID=sa;Initial Catalog=Demo;Password=xxx";

using (SqlCeRemoteDataAccess rda = new SqlCeRemoteDataAccess(

Configuration.Default.SyncServerAddress, "", "", connStr))

{

rda.Pull("MyTable", "SELECT * FROM mytable", serverConnStr, RdaTrackOption.TrackingOffWithIndexes, "ErrorTable");

}

Everythink works fine, when I use 'sa' user account in serverConnStr.

But, when I change conn string to:

"Provider=SQLOLEDB;Data Source=.;User ID=test;Initial Catalog=Demo;Password=test"

the sqlcesa30.dll cannot connect to SQL Server database.

In the sqlcesa30.log then I found following line:

Code Snippet

2007/04/17 10:43:31 Thread=1EE30 RSCB=16 Command=PULL Hr=80040E4D Login failed for user 'test'. 18456

The user 'test' is member of db_owner, db_datareader and public roles for the Demo database and in SQL Server Management Studio I'm able to login to the Demo database with using the 'test' users credentials and I'm able to run the select command on 'mytable'.

So, what's wrong? Why the sqlcesa30.dll process cannot login to the Demo database, and from another application with using the SAME connection string it works?

Please help.

Thank you.

Fipil.

Is the test account in the PAL? It may also need to be in the dbo_role in the distribution database.|||

I'm not using Replication, but RDA. So, there are no a publication created.

|||Moving to CE forum.|||

I solved the problem.

The problem was in login name, I replaced 'g' by 'q' in login name, so this was all the problem :-).

|||

Hi,Fipil

I met the same problem with u.

Glad that you have slove the problem :-)

But, I'm not clear what's your mean that "I replaced 'g' by 'q' in login name", Can you explain it detaily?

Thanks & Best Regards,

Hua wen gui

|||

Hi,

I made a mistake: I simple put the 'q' character instead of 'g' character to user name field, in my application's login form (on PDA). And, because I implemented remembering of username, the mistake was repeated. Little 'q' is similar to little 'g', so I passed over the mistake :-) and searched for another error...

|||

So, you did not connect the DB with Login "test" in your PDA program, right?

My problem is : I can connect the DB with the same connect string in VBA . But, I can not connect DB in PDA program().

meanwhile, I can access http://server/PDA/sscesa20.dll on PDA successfully.

It's a strange problem, any suggestion?

Thanks

|||

Yes, you are right. I changed original name of user by 'test' while writting post here.

Did you mean DB on server or db on PDA?

|||

The DB on server.

I'd like to pull data from DB Server to PDA with RDA.pull.

But, a error comes out with login error (I can connect the Server DB with the same connection string in VB)

I can not find out the problem.

I'm not sure If the problem on IIS or SQL Server?

Ps, my SQL Server is SQL Server 2005, I can view http://Server/PDA/sscesa20.dll correctly.

RDA Pull Problem: Command=PULL Hr=80040E4D Login failed for user 'test'

Hi all,

I have following problem:

I'm developing a Windows Mobile application, which is using RDA Pull for retrieving data from SQL Server 2005 database to PDA. Please, see the example:

Code Snippet

using (SqlCeEngine engine = new SqlCeEngine(connStr))

{

engine.CreateDatabase();

}

serverConnStr="Provider=SQLOLEDB;Data Source=.;User ID=sa;Initial Catalog=Demo;Password=xxx";

using (SqlCeRemoteDataAccess rda = new SqlCeRemoteDataAccess(

Configuration.Default.SyncServerAddress, "", "", connStr))

{

rda.Pull("MyTable", "SELECT * FROM mytable", serverConnStr, RdaTrackOption.TrackingOffWithIndexes, "ErrorTable");

}

Everythink works fine, when I use 'sa' user account in serverConnStr.

But, when I change conn string to:

"Provider=SQLOLEDB;Data Source=.;User ID=test;Initial Catalog=Demo;Password=test"

the sqlcesa30.dll cannot connect to SQL Server database.

In the sqlcesa30.log then I found following line:

Code Snippet

2007/04/17 10:43:31 Thread=1EE30 RSCB=16 Command=PULL Hr=80040E4D Login failed for user 'test'. 18456

The user 'test' is member of db_owner, db_datareader and public roles for the Demo database and in SQL Server Management Studio I'm able to login to the Demo database with using the 'test' users credentials and I'm able to run the select command on 'mytable'.

So, what's wrong? Why the sqlcesa30.dll process cannot login to the Demo database, and from another application with using the SAME connection string it works?

Please help.

Thank you.

Fipil.

Is the test account in the PAL? It may also need to be in the dbo_role in the distribution database.|||

I'm not using Replication, but RDA. So, there are no a publication created.

|||Moving to CE forum.|||

I solved the problem.

The problem was in login name, I replaced 'g' by 'q' in login name, so this was all the problem :-).

|||

Hi,Fipil

I met the same problem with u.

Glad that you have slove the problem :-)

But, I'm not clear what's your mean that "I replaced 'g' by 'q' in login name", Can you explain it detaily?

Thanks & Best Regards,

Hua wen gui

|||

Hi,

I made a mistake: I simple put the 'q' character instead of 'g' character to user name field, in my application's login form (on PDA). And, because I implemented remembering of username, the mistake was repeated. Little 'q' is similar to little 'g', so I passed over the mistake :-) and searched for another error...

|||

So, you did not connect the DB with Login "test" in your PDA program, right?

My problem is : I can connect the DB with the same connect string in VBA . But, I can not connect DB in PDA program().

meanwhile, I can access http://server/PDA/sscesa20.dll on PDA successfully.

It's a strange problem, any suggestion?

Thanks

|||

Yes, you are right. I changed original name of user by 'test' while writting post here.

Did you mean DB on server or db on PDA?

|||

The DB on server.

I'd like to pull data from DB Server to PDA with RDA.pull.

But, a error comes out with login error (I can connect the Server DB with the same connection string in VB)

I can not find out the problem.

I'm not sure If the problem on IIS or SQL Server?

Ps, my SQL Server is SQL Server 2005, I can view http://Server/PDA/sscesa20.dll correctly.

RDA pull problem

Hi,

I am new to SQL Mobile programming. I am using SQL Server 2005 Mobile and SQL Express. I have a mobile windows application + .sdf file in the PDA. When i try to pull the table the first time, the table is successfully retrieved to PDA. When i try to pull the table again, i get the following error:

"An unexpected error has occured in TestDb.exe. Select quit and then restart this program, or sleect details for more information.

A duplicate value cannot be inserted into aunique index. [table Name=_sysRDASubscriptions, constraint name=c_LocalTableName] "

The above message indicates, that the table is existing in "_sysRDASubscriptions" table.

I tried dropping the table using SQL Explorer in PDA, but it didn't work out.

I am not sure of how to drop the existing table from the database programatically, and if I drop the table from the database, will this be cleared.

Please help me in resolving this issue. I am in desperate need of an urgent solution for this.

Thanks

Prasanna

You will need to drop the existing table before the next call to RDA.Pull. An error occurs if the table already exists.

Run the following command in SQL Mobile Query Analyzer

DROP TABLE < table_name >
Take a look at SQL Server 2005 Mobile Edition Books Online topic:
"Executing SQL Statements on the SQL Tab"

Thank you!

Syed N. Yousuf

Microsoft Developer Support Professional

This posting is provided “AS IS” with no warranties, and confers no rights.

|||

Hi Syed,

I have already tried dropping the table from SQL Mobile Query Analyzer, and i think even I have already mentioned in the message that i posted previously. So, it will be better if you can read the previous post in detail.

By the way regarding the issue, even after dropping the table using the

"DROP TABLE <TABLENAME>" Query using SQL Mobile Query Analyzer, I didn't succeed. And when i did the same programatically, i don't understand why i get a "Null Reference Exception". I queried the Information_Schema.tables and i found that after i execute the DROP command, the information_schema.tables doesn't have any entries regarding the deleted table. Even after this i get the error. I am not sure how to delete the entries from the _sysRDASubscriptions table. Is it possible to execute queries against this table, either programmatically or manually. Suggest, a method to solve this issue.

Thanks

Prasanna.

|||

Are you really using SQL Express as the source of the tables you are trying to pull? If so, RDA from SQL Mobile to SQL Express is not a licensed or supported scenario.

-Darren Shaffer

|||

Hi Darren,

Our applications have both trial and paid versions. For paid versions, we will be not be using SQL Express, but for trial versions, we need to have SQL Express. So, I need a solution for both SQL Express and other editions as well.

Thanks

Prasanna

|||

About the only way to synchronize data from SQL Mobile to SQL Express is going to be to expose some simple web services that get and put data from/to the SQL Express database. Unlike MSDE, SQL Express has no SQL Agent and hence cannot support merge replication or RDA.

-Darren

RDA pull problem

Hi,

I am new to SQL Mobile programming. I am using SQL Server 2005 Mobile and SQL Express. I have a mobile windows application + .sdf file in the PDA. When i try to pull the table the first time, the table is successfully retrieved to PDA. When i try to pull the table again, i get the following error:

"An unexpected error has occured in TestDb.exe. Select quit and then restart this program, or sleect details for more information.

A duplicate value cannot be inserted into aunique index. [table Name=_sysRDASubscriptions, constraint name=c_LocalTableName] "

The above message indicates, that the table is existing in "_sysRDASubscriptions" table.

I tried dropping the table using SQL Explorer in PDA, but it didn't work out.

I am not sure of how to drop the existing table from the database programatically, and if I drop the table from the database, will this be cleared.

Please help me in resolving this issue. I am in desperate need of an urgent solution for this.

Thanks

Prasanna

You will need to drop the existing table before the next call to RDA.Pull. An error occurs if the table already exists.

Run the following command in SQL Mobile Query Analyzer

DROP TABLE < table_name >
Take a look at SQL Server 2005 Mobile Edition Books Online topic:
"Executing SQL Statements on the SQL Tab"

Thank you!

Syed N. Yousuf

Microsoft Developer Support Professional

This posting is provided “AS IS” with no warranties, and confers no rights.

|||

Hi Syed,

I have already tried dropping the table from SQL Mobile Query Analyzer, and i think even I have already mentioned in the message that i posted previously. So, it will be better if you can read the previous post in detail.

By the way regarding the issue, even after dropping the table using the

"DROP TABLE <TABLENAME>" Query using SQL Mobile Query Analyzer, I didn't succeed. And when i did the same programatically, i don't understand why i get a "Null Reference Exception". I queried the Information_Schema.tables and i found that after i execute the DROP command, the information_schema.tables doesn't have any entries regarding the deleted table. Even after this i get the error. I am not sure how to delete the entries from the _sysRDASubscriptions table. Is it possible to execute queries against this table, either programmatically or manually. Suggest, a method to solve this issue.

Thanks

Prasanna.

|||

Are you really using SQL Express as the source of the tables you are trying to pull? If so, RDA from SQL Mobile to SQL Express is not a licensed or supported scenario.

-Darren Shaffer

|||

Hi Darren,

Our applications have both trial and paid versions. For paid versions, we will be not be using SQL Express, but for trial versions, we need to have SQL Express. So, I need a solution for both SQL Express and other editions as well.

Thanks

Prasanna

|||

About the only way to synchronize data from SQL Mobile to SQL Express is going to be to expose some simple web services that get and put data from/to the SQL Express database. Unlike MSDE, SQL Express has no SQL Agent and hence cannot support merge replication or RDA.

-Darren

Saturday, February 25, 2012

RDA Pull Fail

I try to pull data from SQL 2005 Express Edition to SQL Mobile 5.0, with Visual Basic 2005.
It keep prompt me the error Native Error:

System.Data.SqlServerCe.SqlCeException was unhandled
HResult=-2147024809
Message="An error has occurred on the computer running IIS. Try restarting the IIS server."
NativeError=28022
Source="Microsoft SQL Server 2005 Mobile Edition"
StackTrace:
at System.Data.SqlServerCe.NativeMethods.CheckHRESULT()
at System.Data.SqlServerCe.SqlCeRemoteDataAccess.Pull()
at PDA2007.PULLPUSH.btn_pull_Click()
at System.Windows.Forms.Control.OnClick()
at System.Windows.Forms.Button.OnClick()
at System.Windows.Forms.ButtonBase.WnProc()
at System.Windows.Forms.Control._InternalWnProc()
at Microsoft.AGL.Forms.EVL.EnterMainLoop()
at System.Windows.Forms.Application.Run()
at PDA2007.PULLPUSH.Main()

Below is my coding :

Private Sub btn_pull_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles btn_pull.Click


Const gRemoteProvider = "Provider=SQLOLEDB.1;Persist Security

Info=False; " & _


"User ID=dmspda;Password=dmspda;Initial

Catalog=dmspda;Data Source=INSPIRON6000"


Const gInternetURL = "HTTP://192.168.1.3/Sync/SSCESA30.DLL"


Const gInternetLogin = "INSPIRON6000\IUSR_INSPIRON6000"


Const gInternetPwd = ""


Dim rda As SqlCeRemoteDataAccess



rda = New SqlCeRemoteDataAccess


rda.LocalConnectionString = "Data Source=\My Documents\pda.sdf"


rda.InternetUrl = gInternetURL


rda.InternetLogin = gInternetLogin


rda.InternetPassword = gInternetPwd



rda.Pull("pda_uom", "Select * from pda_uom", gRemoteProvider,

RdaTrackOption.TrackingOn)



End Sub


I have been refer to a lot of website and read articles, help forum, have try to disable Firewall, allow HTTP and HTTPS, uninstall anti-virus system. I have no idea, what is this problem and how to solve it ? If you face same problem before, hope can give some comment here, appreciate it!

Developed Machine:
* XP Pro S2
* SQL Server 2005 Express Edition
* Visual Studio 2005

Device :
* SQL Mobile 2005
* Window Mobile 5.0



Hullo xiaoytan

I have facing the same error as u faced, could u solved this pbm, then please let me know , how to do it ?

Thank u.

RDA Pull error using Microsoft SQL Server Compact Edition 2005

Hello dear all.

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).

The statement I issue is the following:

rda.Pull(table.TableName, table.TableQuery, Program.RdaOleDbConnectionString, RdaTrackOption.TrackingOnWithIndexes, table.TableName + "Errors");

The application works perfectly when I am pulling smaller tables (up to 15000 rows) but when I try to pull this one I get the following error details:

sqlCeEx
{""}
base {System.SystemException}: {""}
Errors: {System.Data.SqlServerCe.SqlCeErrorCollection}
errors: {System.Data.SqlServerCe.SqlCeErrorCollection}
HResult: -2147024882
Message: ""
NativeError: 0
Source: "Microsoft SQL Server Compact Edition"

Please have in mind that the handheld on which I deploy does not have an extra storage card.

I have done a thorough internet search and I have found no solution to this problem. I truly rely on you to find the solution.

Thanks in advance,

Steliosvcy.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsqlce/html/sqlce_troubleconnect.asp

Sounds like a timeout error to me.

HRESULT = -2147012894 = FFFFFFFF80072EE2

Take the 2EE2, Convert back to decimal (12002).
Lookup the error in wininet.h (C:\program files\windows ce something\something\include

//
// Internet API error returns
//

#define INTERNET_ERROR_BASE 12000
#define ERROR_INTERNET_TIMEOUT (INTERNET_ERROR_BASE + 2)

How to fix it? Gawd knows. Change the timeout? Let me know how to do that if you find out!! (That's what I'm trying to do at the moment)

Regards,

James.
|||

You can set the oledb timeout (from IIS to SQL) with: Connect Timeout=180 in the connection string (3 minutes in this case).

Code Snippet

Provider=SQLOLEDB; Data Source=mySQLServer; Initial Catalog=NorthWind; user id=sa; password=; Connect Timeout=180;

You may have to adjust to fit your environment.

|||

SqlCeReplication and SqlCeRemoteDataAccess. Both of these have SendTimeout, ReceiveTimeout for IIS connectivity and SQL Server connectivity can be controlled by OLEDB connection string or QueryTimeout on REPL/RDA Object.

Thanks,

Laxmi

RDA Pull error using Microsoft SQL Server Compact Edition 2005

Hello dear all.

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).

The statement I issue is the following:

rda.Pull(table.TableName, table.TableQuery, Program.RdaOleDbConnectionString, RdaTrackOption.TrackingOnWithIndexes, table.TableName + "Errors");

The application works perfectly when I am pulling smaller tables (up to 15000 rows) but when I try to pull this one I get the following error details:

sqlCeEx
{""}
base {System.SystemException}: {""}
Errors: {System.Data.SqlServerCe.SqlCeErrorCollection}
errors: {System.Data.SqlServerCe.SqlCeErrorCollection}
HResult: -2147024882
Message: ""
NativeError: 0
Source: "Microsoft SQL Server Compact Edition"

Please have in mind that the handheld on which I deploy does not have an extra storage card.

I have done a thorough internet search and I have found no solution to this problem. I truly rely on you to find the solution.

Thanks in advance,

Steliosvcy.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsqlce/html/sqlce_troubleconnect.asp

Sounds like a timeout error to me.

HRESULT = -2147012894 = FFFFFFFF80072EE2

Take the 2EE2, Convert back to decimal (12002).
Lookup the error in wininet.h (C:\program files\windows ce something\something\include

//
// Internet API error returns
//

#define INTERNET_ERROR_BASE 12000
#define ERROR_INTERNET_TIMEOUT (INTERNET_ERROR_BASE + 2)

How to fix it? Gawd knows. Change the timeout? Let me know how to do that if you find out!! (That's what I'm trying to do at the moment)

Regards,

James.
|||

You can set the oledb timeout (from IIS to SQL) with: Connect Timeout=180 in the connection string (3 minutes in this case).

Code Snippet

Provider=SQLOLEDB; Data Source=mySQLServer; Initial Catalog=NorthWind; user id=sa; password=; Connect Timeout=180;

You may have to adjust to fit your environment.

|||

SqlCeReplication and SqlCeRemoteDataAccess. Both of these have SendTimeout, ReceiveTimeout for IIS connectivity and SQL Server connectivity can be controlled by OLEDB connection string or QueryTimeout on REPL/RDA Object.

Thanks,

Laxmi

RDA Pull Error table

My dev environment: VS2005, SQLServer Mobile, SQLServer 2005 server db, PPC windows app.

Having a problem with pull. First pull works fine. I request an error table from the pull. When I need to repull, I drop the table, but if I try to programmatically delete the error table, I get the message that the table has restricted DDL operations allowed. Apparently Drop is not allowed. Sometimes dropping the main table deletes the error table, sometimes it doesn't. If I try to repull and the error table is there, the pull fails.

I've tried "flushing" my cache by closing my connection and reopening, but that doesn't work.

Any ideas?

I have a similar problem--I have primary key indexes on the table I'm trying to pull which DONT go away when the table is dropped. I can't delete them because they give me the same "restricted DDL operations" error, and the pull fails when they are around.

I posted about it a while back, but never did get a reasonable response. Right now I'm deleting my entire database each time I do a pull, which is a very ham-fisted way of doing it, and it's awful slow. Unfortunately, no one else seems to be able to help...

-Kevin

|||

Just to narrow down the problem can you do the following:

Before dropping the main table can you soft-reset the device and drop the main table? I am really interested to know the root cause of the problem. Also please note that, just clicking ok on any device app does not actually close the app but pushes it to background. To termainte the app, you need to go to Start Menu => Settings => System => Memory => Running Programs ==> Stop the process

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||

Whether I drop it from my program or from QA, I sometimes get the error table deleted, sometimes not. That's after a reset. I'm pretty sure I've got my app closing correctly now, which it wasn't before, but now if I look at memory as you suggest, there is no vestige of my program hanging around. I finally decided I didn't really need the error table anyway and so have excluded it from my pull arguments.

However, a related problem promises to be an even bigger headache. Occasionally, dropping the main table does not manage to delete the appropriate entries in __SysRDASubscriptions, so that when I go to pull that table again, even though the actual table has been dropped, the pull informs me that it can't upupdate __SysRDASubscriptions before of a dup entry (error 25016). And guess what, __SysRDASubscriptions is read-only, so I can't "delete from" either. The only workaround I can think of is to backup the tables I need in my .sdf, trash the original and create a new db - a big hack to say the least.

As to what causes the entry not to be deleted, sometimes the database is corrupt (.Verify returns false), but repairing doesn't take care of __SysRDASubscriptions dirty entry.

Any ideas?

|||

Can you please give your email id so that I can contact you offline for faster conversation!

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||hi Laxmi, did you get my return email or do I have to post my email address here?|||

Hi,

I have the same problem also, I am trying to delete the entry from __sysrdasubscriptions table but its coming back with read only error...any advice on how to accomplish this. What i really wanted to do is drop the table and recreate...since the deleted table is not being deleted from sysrdasubscriptions i need to do it manually...Please help...

michael

|||This happens intermittently in my app. Sometimes the delete table takes care of the sysrdasubscriptions row and sometimes it doesn't. I'm closing down my connection before I do the delete just to make sure there are no pending updates waiting, but I still get the problem. The worst part is that I can't reproduce it consistently. How about in your case - does it always fail to delete the row?|||

Hi,

In my case, when i drop the table the entries from the sysrdasubscriptions still remains consistently...it just never deleted but then when i delete the entry it comes back with an error of read only...I am not sure what to do with it...the only solution i can think of is delete the database with a drawback of becoming very slow since it will need to reproduce everything...

best regards,

michael

|||

I thought of deleting the db too but that's definitely a last resort.

|||

Hello Laxmi - did you get my response to your email.

This seems like a serious problem. Hoping you have some ideas other than deleting the database.

|||

Sorry guys I am totally lost in my work. I am really sorry about that.

Please send across the repro details along with the repro database at our BLOG http://blogs.msdn.com/sqlmobile/.

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||

Hi

I am getting the exact same problem.

Any news on a fix for this?

Regards Andrew

|||Having had ZERO help after promises and promises

from Microsoft, we finally took the hard core approach and delete the

entire database, so as to ensure the deletion of the subscriptions

info.

As usual, MS releases beta, well more like alpha, products to the

marketplace and relies on its market domination to keep even the most

disgruntled of customers in their camp. However, we have deployed

this as only a temporary solution. In three months, we will be

rearchitecting with a Java solution, with a prototype already working

more reliably than the MS ***. This was only one of many

disappointments for us from MS, and so now we are turning the corner

and going with a more reliable framework, and just better solutions in

general. Too bad MS feels that don't really have to deliver

anything of quality anymore. No wonder their stock is a dinosaur

stuck in the toilet.

Good luck to you...|||

Hi Braden,

This problem is in locating the other sql mobile dlls while dropping the table.

This problem does not appear if you have all of the following in a single directory:

1) SQL Mobile product DLLs

2) SQL Mobile tools (such as ISQLW30.EXE in case you are using it!)

3) Customer application which uses RDA

4) Any other binary that is using SQL Mobile binaries

Please be patient while we work on the problem.

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Ev, Microsoft Corporation

RDA Pull Error table

My dev environment: VS2005, SQLServer Mobile, SQLServer 2005 server db, PPC windows app.

Having a problem with pull. First pull works fine. I request an error table from the pull. When I need to repull, I drop the table, but if I try to programmatically delete the error table, I get the message that the table has restricted DDL operations allowed. Apparently Drop is not allowed. Sometimes dropping the main table deletes the error table, sometimes it doesn't. If I try to repull and the error table is there, the pull fails.

I've tried "flushing" my cache by closing my connection and reopening, but that doesn't work.

Any ideas?

I have a similar problem--I have primary key indexes on the table I'm trying to pull which DONT go away when the table is dropped. I can't delete them because they give me the same "restricted DDL operations" error, and the pull fails when they are around.

I posted about it a while back, but never did get a reasonable response. Right now I'm deleting my entire database each time I do a pull, which is a very ham-fisted way of doing it, and it's awful slow. Unfortunately, no one else seems to be able to help...

-Kevin

|||

Just to narrow down the problem can you do the following:

Before dropping the main table can you soft-reset the device and drop the main table? I am really interested to know the root cause of the problem. Also please note that, just clicking ok on any device app does not actually close the app but pushes it to background. To termainte the app, you need to go to Start Menu => Settings => System => Memory => Running Programs ==> Stop the process

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||

Whether I drop it from my program or from QA, I sometimes get the error table deleted, sometimes not. That's after a reset. I'm pretty sure I've got my app closing correctly now, which it wasn't before, but now if I look at memory as you suggest, there is no vestige of my program hanging around. I finally decided I didn't really need the error table anyway and so have excluded it from my pull arguments.

However, a related problem promises to be an even bigger headache. Occasionally, dropping the main table does not manage to delete the appropriate entries in __SysRDASubscriptions, so that when I go to pull that table again, even though the actual table has been dropped, the pull informs me that it can't upupdate __SysRDASubscriptions before of a dup entry (error 25016). And guess what, __SysRDASubscriptions is read-only, so I can't "delete from" either. The only workaround I can think of is to backup the tables I need in my .sdf, trash the original and create a new db - a big hack to say the least.

As to what causes the entry not to be deleted, sometimes the database is corrupt (.Verify returns false), but repairing doesn't take care of __SysRDASubscriptions dirty entry.

Any ideas?

|||

Can you please give your email id so that I can contact you offline for faster conversation!

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||hi Laxmi, did you get my return email or do I have to post my email address here?|||

Hi,

I have the same problem also, I am trying to delete the entry from __sysrdasubscriptions table but its coming back with read only error...any advice on how to accomplish this. What i really wanted to do is drop the table and recreate...since the deleted table is not being deleted from sysrdasubscriptions i need to do it manually...Please help...

michael

|||This happens intermittently in my app. Sometimes the delete table takes care of the sysrdasubscriptions row and sometimes it doesn't. I'm closing down my connection before I do the delete just to make sure there are no pending updates waiting, but I still get the problem. The worst part is that I can't reproduce it consistently. How about in your case - does it always fail to delete the row?|||

Hi,

In my case, when i drop the table the entries from the sysrdasubscriptions still remains consistently...it just never deleted but then when i delete the entry it comes back with an error of read only...I am not sure what to do with it...the only solution i can think of is delete the database with a drawback of becoming very slow since it will need to reproduce everything...

best regards,

michael

|||

I thought of deleting the db too but that's definitely a last resort.

|||

Hello Laxmi - did you get my response to your email.

This seems like a serious problem. Hoping you have some ideas other than deleting the database.

|||

Sorry guys I am totally lost in my work. I am really sorry about that.

Please send across the repro details along with the repro database at our BLOG http://blogs.msdn.com/sqlmobile/.

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||

Hi

I am getting the exact same problem.

Any news on a fix for this?

Regards Andrew

|||Having had ZERO help after promises and promises

from Microsoft, we finally took the hard core approach and delete the

entire database, so as to ensure the deletion of the subscriptions

info.

As usual, MS releases beta, well more like alpha, products to the

marketplace and relies on its market domination to keep even the most

disgruntled of customers in their camp. However, we have deployed

this as only a temporary solution. In three months, we will be

rearchitecting with a Java solution, with a prototype already working

more reliably than the MS ***. This was only one of many

disappointments for us from MS, and so now we are turning the corner

and going with a more reliable framework, and just better solutions in

general. Too bad MS feels that don't really have to deliver

anything of quality anymore. No wonder their stock is a dinosaur

stuck in the toilet.

Good luck to you...|||

Hi Braden,

This problem is in locating the other sql mobile dlls while dropping the table.

This problem does not appear if you have all of the following in a single directory:

1) SQL Mobile product DLLs

2) SQL Mobile tools (such as ISQLW30.EXE in case you are using it!)

3) Customer application which uses RDA

4) Any other binary that is using SQL Mobile binaries

Please be patient while we work on the problem.

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Ev, Microsoft Corporation

RDA Pull Error table

My dev environment: VS2005, SQLServer Mobile, SQLServer 2005 server db, PPC windows app.

Having a problem with pull. First pull works fine. I request an error table from the pull. When I need to repull, I drop the table, but if I try to programmatically delete the error table, I get the message that the table has restricted DDL operations allowed. Apparently Drop is not allowed. Sometimes dropping the main table deletes the error table, sometimes it doesn't. If I try to repull and the error table is there, the pull fails.

I've tried "flushing" my cache by closing my connection and reopening, but that doesn't work.

Any ideas?

I have a similar problem--I have primary key indexes on the table I'm trying to pull which DONT go away when the table is dropped. I can't delete them because they give me the same "restricted DDL operations" error, and the pull fails when they are around.

I posted about it a while back, but never did get a reasonable response. Right now I'm deleting my entire database each time I do a pull, which is a very ham-fisted way of doing it, and it's awful slow. Unfortunately, no one else seems to be able to help...

-Kevin

|||

Just to narrow down the problem can you do the following:

Before dropping the main table can you soft-reset the device and drop the main table? I am really interested to know the root cause of the problem. Also please note that, just clicking ok on any device app does not actually close the app but pushes it to background. To termainte the app, you need to go to Start Menu => Settings => System => Memory => Running Programs ==> Stop the process

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||

Whether I drop it from my program or from QA, I sometimes get the error table deleted, sometimes not. That's after a reset. I'm pretty sure I've got my app closing correctly now, which it wasn't before, but now if I look at memory as you suggest, there is no vestige of my program hanging around. I finally decided I didn't really need the error table anyway and so have excluded it from my pull arguments.

However, a related problem promises to be an even bigger headache. Occasionally, dropping the main table does not manage to delete the appropriate entries in __SysRDASubscriptions, so that when I go to pull that table again, even though the actual table has been dropped, the pull informs me that it can't upupdate __SysRDASubscriptions before of a dup entry (error 25016). And guess what, __SysRDASubscriptions is read-only, so I can't "delete from" either. The only workaround I can think of is to backup the tables I need in my .sdf, trash the original and create a new db - a big hack to say the least.

As to what causes the entry not to be deleted, sometimes the database is corrupt (.Verify returns false), but repairing doesn't take care of __SysRDASubscriptions dirty entry.

Any ideas?

|||

Can you please give your email id so that I can contact you offline for faster conversation!

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||hi Laxmi, did you get my return email or do I have to post my email address here?|||

Hi,

I have the same problem also, I am trying to delete the entry from __sysrdasubscriptions table but its coming back with read only error...any advice on how to accomplish this. What i really wanted to do is drop the table and recreate...since the deleted table is not being deleted from sysrdasubscriptions i need to do it manually...Please help...

michael

|||This happens intermittently in my app. Sometimes the delete table takes care of the sysrdasubscriptions row and sometimes it doesn't. I'm closing down my connection before I do the delete just to make sure there are no pending updates waiting, but I still get the problem. The worst part is that I can't reproduce it consistently. How about in your case - does it always fail to delete the row?|||

Hi,

In my case, when i drop the table the entries from the sysrdasubscriptions still remains consistently...it just never deleted but then when i delete the entry it comes back with an error of read only...I am not sure what to do with it...the only solution i can think of is delete the database with a drawback of becoming very slow since it will need to reproduce everything...

best regards,

michael

|||

I thought of deleting the db too but that's definitely a last resort.

|||

Hello Laxmi - did you get my response to your email.

This seems like a serious problem. Hoping you have some ideas other than deleting the database.

|||

Sorry guys I am totally lost in my work. I am really sorry about that.

Please send across the repro details along with the repro database at our BLOG http://blogs.msdn.com/sqlmobile/.

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||

Hi

I am getting the exact same problem.

Any news on a fix for this?

Regards Andrew

|||Having had ZERO help after promises and promises from Microsoft, we finally took the hard core approach and delete the entire database, so as to ensure the deletion of the subscriptions info.
As usual, MS releases beta, well more like alpha, products to the marketplace and relies on its market domination to keep even the most disgruntled of customers in their camp. However, we have deployed this as only a temporary solution. In three months, we will be rearchitecting with a Java solution, with a prototype already working more reliably than the MS ***. This was only one of many disappointments for us from MS, and so now we are turning the corner and going with a more reliable framework, and just better solutions in general. Too bad MS feels that don't really have to deliver anything of quality anymore. No wonder their stock is a dinosaur stuck in the toilet.
Good luck to you...
|||

Hi Braden,

This problem is in locating the other sql mobile dlls while dropping the table.

This problem does not appear if you have all of the following in a single directory:

1) SQL Mobile product DLLs

2) SQL Mobile tools (such as ISQLW30.EXE in case you are using it!)

3) Customer application which uses RDA

4) Any other binary that is using SQL Mobile binaries

Please be patient while we work on the problem.

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Ev, Microsoft Corporation

RDA Pull Error table

My dev environment: VS2005, SQLServer Mobile, SQLServer 2005 server db, PPC windows app.

Having a problem with pull. First pull works fine. I request an error table from the pull. When I need to repull, I drop the table, but if I try to programmatically delete the error table, I get the message that the table has restricted DDL operations allowed. Apparently Drop is not allowed. Sometimes dropping the main table deletes the error table, sometimes it doesn't. If I try to repull and the error table is there, the pull fails.

I've tried "flushing" my cache by closing my connection and reopening, but that doesn't work.

Any ideas?

I have a similar problem--I have primary key indexes on the table I'm trying to pull which DONT go away when the table is dropped. I can't delete them because they give me the same "restricted DDL operations" error, and the pull fails when they are around.

I posted about it a while back, but never did get a reasonable response. Right now I'm deleting my entire database each time I do a pull, which is a very ham-fisted way of doing it, and it's awful slow. Unfortunately, no one else seems to be able to help...

-Kevin

|||

Just to narrow down the problem can you do the following:

Before dropping the main table can you soft-reset the device and drop the main table? I am really interested to know the root cause of the problem. Also please note that, just clicking ok on any device app does not actually close the app but pushes it to background. To termainte the app, you need to go to Start Menu => Settings => System => Memory => Running Programs ==> Stop the process

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||

Whether I drop it from my program or from QA, I sometimes get the error table deleted, sometimes not. That's after a reset. I'm pretty sure I've got my app closing correctly now, which it wasn't before, but now if I look at memory as you suggest, there is no vestige of my program hanging around. I finally decided I didn't really need the error table anyway and so have excluded it from my pull arguments.

However, a related problem promises to be an even bigger headache. Occasionally, dropping the main table does not manage to delete the appropriate entries in __SysRDASubscriptions, so that when I go to pull that table again, even though the actual table has been dropped, the pull informs me that it can't upupdate __SysRDASubscriptions before of a dup entry (error 25016). And guess what, __SysRDASubscriptions is read-only, so I can't "delete from" either. The only workaround I can think of is to backup the tables I need in my .sdf, trash the original and create a new db - a big hack to say the least.

As to what causes the entry not to be deleted, sometimes the database is corrupt (.Verify returns false), but repairing doesn't take care of __SysRDASubscriptions dirty entry.

Any ideas?

|||

Can you please give your email id so that I can contact you offline for faster conversation!

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||hi Laxmi, did you get my return email or do I have to post my email address here?|||

Hi,

I have the same problem also, I am trying to delete the entry from __sysrdasubscriptions table but its coming back with read only error...any advice on how to accomplish this. What i really wanted to do is drop the table and recreate...since the deleted table is not being deleted from sysrdasubscriptions i need to do it manually...Please help...

michael

|||This happens intermittently in my app. Sometimes the delete table takes care of the sysrdasubscriptions row and sometimes it doesn't. I'm closing down my connection before I do the delete just to make sure there are no pending updates waiting, but I still get the problem. The worst part is that I can't reproduce it consistently. How about in your case - does it always fail to delete the row?|||

Hi,

In my case, when i drop the table the entries from the sysrdasubscriptions still remains consistently...it just never deleted but then when i delete the entry it comes back with an error of read only...I am not sure what to do with it...the only solution i can think of is delete the database with a drawback of becoming very slow since it will need to reproduce everything...

best regards,

michael

|||

I thought of deleting the db too but that's definitely a last resort.

|||

Hello Laxmi - did you get my response to your email.

This seems like a serious problem. Hoping you have some ideas other than deleting the database.

|||

Sorry guys I am totally lost in my work. I am really sorry about that.

Please send across the repro details along with the repro database at our BLOG http://blogs.msdn.com/sqlmobile/.

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||

Hi

I am getting the exact same problem.

Any news on a fix for this?

Regards Andrew

|||Having had ZERO help after promises and promises from Microsoft, we finally took the hard core approach and delete the entire database, so as to ensure the deletion of the subscriptions info.
As usual, MS releases beta, well more like alpha, products to the marketplace and relies on its market domination to keep even the most disgruntled of customers in their camp. However, we have deployed this as only a temporary solution. In three months, we will be rearchitecting with a Java solution, with a prototype already working more reliably than the MS ***. This was only one of many disappointments for us from MS, and so now we are turning the corner and going with a more reliable framework, and just better solutions in general. Too bad MS feels that don't really have to deliver anything of quality anymore. No wonder their stock is a dinosaur stuck in the toilet.
Good luck to you...
|||

Hi Braden,

This problem is in locating the other sql mobile dlls while dropping the table.

This problem does not appear if you have all of the following in a single directory:

1) SQL Mobile product DLLs

2) SQL Mobile tools (such as ISQLW30.EXE in case you are using it!)

3) Customer application which uses RDA

4) Any other binary that is using SQL Mobile binaries

Please be patient while we work on the problem.

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Ev, Microsoft Corporation

RDA Pull Error table

My dev environment: VS2005, SQLServer Mobile, SQLServer 2005 server db, PPC windows app.

Having a problem with pull. First pull works fine. I request an error table from the pull. When I need to repull, I drop the table, but if I try to programmatically delete the error table, I get the message that the table has restricted DDL operations allowed. Apparently Drop is not allowed. Sometimes dropping the main table deletes the error table, sometimes it doesn't. If I try to repull and the error table is there, the pull fails.

I've tried "flushing" my cache by closing my connection and reopening, but that doesn't work.

Any ideas?

I have a similar problem--I have primary key indexes on the table I'm trying to pull which DONT go away when the table is dropped. I can't delete them because they give me the same "restricted DDL operations" error, and the pull fails when they are around.

I posted about it a while back, but never did get a reasonable response. Right now I'm deleting my entire database each time I do a pull, which is a very ham-fisted way of doing it, and it's awful slow. Unfortunately, no one else seems to be able to help...

-Kevin

|||

Just to narrow down the problem can you do the following:

Before dropping the main table can you soft-reset the device and drop the main table? I am really interested to know the root cause of the problem. Also please note that, just clicking ok on any device app does not actually close the app but pushes it to background. To termainte the app, you need to go to Start Menu => Settings => System => Memory => Running Programs ==> Stop the process

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||

Whether I drop it from my program or from QA, I sometimes get the error table deleted, sometimes not. That's after a reset. I'm pretty sure I've got my app closing correctly now, which it wasn't before, but now if I look at memory as you suggest, there is no vestige of my program hanging around. I finally decided I didn't really need the error table anyway and so have excluded it from my pull arguments.

However, a related problem promises to be an even bigger headache. Occasionally, dropping the main table does not manage to delete the appropriate entries in __SysRDASubscriptions, so that when I go to pull that table again, even though the actual table has been dropped, the pull informs me that it can't upupdate __SysRDASubscriptions before of a dup entry (error 25016). And guess what, __SysRDASubscriptions is read-only, so I can't "delete from" either. The only workaround I can think of is to backup the tables I need in my .sdf, trash the original and create a new db - a big hack to say the least.

As to what causes the entry not to be deleted, sometimes the database is corrupt (.Verify returns false), but repairing doesn't take care of __SysRDASubscriptions dirty entry.

Any ideas?

|||

Can you please give your email id so that I can contact you offline for faster conversation!

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||hi Laxmi, did you get my return email or do I have to post my email address here?|||

Hi,

I have the same problem also, I am trying to delete the entry from __sysrdasubscriptions table but its coming back with read only error...any advice on how to accomplish this. What i really wanted to do is drop the table and recreate...since the deleted table is not being deleted from sysrdasubscriptions i need to do it manually...Please help...

michael

|||This happens intermittently in my app. Sometimes the delete table takes care of the sysrdasubscriptions row and sometimes it doesn't. I'm closing down my connection before I do the delete just to make sure there are no pending updates waiting, but I still get the problem. The worst part is that I can't reproduce it consistently. How about in your case - does it always fail to delete the row?|||

Hi,

In my case, when i drop the table the entries from the sysrdasubscriptions still remains consistently...it just never deleted but then when i delete the entry it comes back with an error of read only...I am not sure what to do with it...the only solution i can think of is delete the database with a drawback of becoming very slow since it will need to reproduce everything...

best regards,

michael

|||

I thought of deleting the db too but that's definitely a last resort.

|||

Hello Laxmi - did you get my response to your email.

This seems like a serious problem. Hoping you have some ideas other than deleting the database.

|||

Sorry guys I am totally lost in my work. I am really sorry about that.

Please send across the repro details along with the repro database at our BLOG http://blogs.msdn.com/sqlmobile/.

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Mobile, Microsoft Corporation

|||

Hi

I am getting the exact same problem.

Any news on a fix for this?

Regards Andrew

|||Having had ZERO help after promises and promises

from Microsoft, we finally took the hard core approach and delete the

entire database, so as to ensure the deletion of the subscriptions

info.

As usual, MS releases beta, well more like alpha, products to the

marketplace and relies on its market domination to keep even the most

disgruntled of customers in their camp. However, we have deployed

this as only a temporary solution. In three months, we will be

rearchitecting with a Java solution, with a prototype already working

more reliably than the MS ***. This was only one of many

disappointments for us from MS, and so now we are turning the corner

and going with a more reliable framework, and just better solutions in

general. Too bad MS feels that don't really have to deliver

anything of quality anymore. No wonder their stock is a dinosaur

stuck in the toilet.

Good luck to you...|||

Hi Braden,

This problem is in locating the other sql mobile dlls while dropping the table.

This problem does not appear if you have all of the following in a single directory:

1) SQL Mobile product DLLs

2) SQL Mobile tools (such as ISQLW30.EXE in case you are using it!)

3) Customer application which uses RDA

4) Any other binary that is using SQL Mobile binaries

Please be patient while we work on the problem.

Thanks,

Laxmi Narsimha Rao ORUGANTI, MSFT, SQL Ev, Microsoft Corporation