I seem to be missing something.
I'm trying to pull a subscription from SQL Server 2000.
(To a desktop SQL 2000 install <msde i guess>)
The general error I keep running into is
When creating the subscription...
"Error 15004: Name cannot be NULL"
I cannot figure out where this problem originates.
I'm running the SQL Service account and Executive under a domain account.
(same one on both machines)
Does anyone know where I'm missing the Permissions for the subscription?
Please impart any Replication suggestions you have. Don't hold back....
hi, I want to setup transactional replication(PULL) between 2 servers . can anyone guide me with the steps involved while performaing a Pull replication from server1 to server2. Any help appreciated.
I have setup a pull subscription on the subscriber for transactional replication. The distribution job continues to run, but doesn't do anything because it says: The initial snapshot for publication 'man4' is not yet available.
How can I tell if the snapshot is running, and can I see the snapshot where it was created?
Question of such plan, to documentation to Microsoft SQL Server 2005 Express Edition it is written, that the given product supports only PUSH replication, however in his{its} structure there is an agent replmerg.exe which description says:
replication merge. Synchronization means, that the agent of merge transfers changes from the subscriber to the publisher, and then transfers changes from the publisher on the subscriber €¦
And so the question if this agent is present at this edition, whether that is possible to adjust manually his{its} call, or through Windows the agent, for realization PULL replication or it is impossible and for what reasons?
I have the following situation. I have a single publication on my publisher Server. This publication is created using SQL Server Manager. Snapshot is created completly. Now I want several Pull subscriptions from several machines to work with this publication (One subscription per machine). I'm creating these subscription using RMO. I'm synchronizing data using RMO again. My code workflow is: Syncronize -> success -> do nothing -> fail -> Check if everything with Publisher and Publication is ok -> Generate Snapshot -> Create Subsscription -> Sync again. (I tried to eliminate Generate Snapshot step but couldn't because I receive error that I must rerun Snapshot Generation.)
When I tested my code per single machine it's working. Next test I tried was to run my program on 2 machines simultaneously.
The result is:
---> System.Data.SqlClient.SqlException: Another snapshot agent for the subscription(s) is running or the server is working on a previous request by the same agent.
or:
---> System.Data.SqlClient.SqlException: Unable to acquire the replication merge administrative application lock for database 'XXX'. This could be due an active snapshot running while the schema change (DDL) or the administrative proc change was attempted. Replication merge admin stored procedure 'sp_changemergepublication' failed for publication 'YYY'. This could be due an active snapshot running while the admin proc was called.
The problem is obvious but because I'm new to the replication I'm not sure if I did general mistake in what I want to achieve. Any advices how can I fix my problem will be highly appreciated.
I am working on a replication setup using transactional replication using with pull subscriptions and a separate distributor. The pull subscriptions are located on a SQL cluster using the virtual SQL Server name as the subscriber; when the box fails over, we get an error of missing replication.dlls. Researching further, we found that replication only works on one node of the subscriber.
I created transactional replication on a database and setup pull subscriptions on each subscriber to run at a scheduled time once a day. The scheduled start time on each subscriber can differ. The transaction log on the publishing database will eventually consume all possible disk space. Is it possible (and safe) to shrink or truncate the transaction log file for the publishing database before all the subscribers completed running its daily pull subscription? If not, how can I manage disk space for the transaction log on the publishing database and ensure all transaction are replicated to the subscriber?
Our current application which uses SQL 2000/CE uses a single Merge publication to populate numerous "read only" tables on the mobile device, and create the schema for a "transactions" table, which will be filled by the mobile device during work, then merged at sync.
Now, the master "transactions" table at the publisher has millions of rows, and the mobile device does not need any of them... so currently we have it "filtering" by a always false clause, so that none of the data is pushed to the client.
The problem with this is that we cannot archive any of the records in the transaction table, as doing so (say, removing 200k rows) would result in the mobile devices (of which there are about 15,000 active in the field) to attempt to reconcile each of those 200k rows when it is next synced, which takes way too long.
Now, what we would like to do is upgrade to SQL 2005/CE 2005, if the new features will allow us a PULL ONLY table in some way? I cannot find how to do this via the wizard, but am sure I am missing something. At least I hope so.
SELECT P.Publication ,P.Publication_type ,S.Subscriber_ID ,S.Update_Mode FROM MSPublications P INNER JOIN MSSubscriptions S ON P.Publication_ID = S.Publication_ID
give me publication_type=0. So it is transactional replication but how do we know that is pull or push?
We have setup transactional replication between 2 databases on SQL Server 2000 SP3a (~70GB), using a concurrent snapshot (to prevent locking out of the live database) to initilaise the data and a pull subscription from the second database.
From analysing the msdistribution_history table in the distribution database on the subscriber it appears that the snapshot is being applied in a continuous loop to the subscriber database. Viewing the comments column in the msdistribution_history table we can see the following sequence of events occuring
Initialising Applied script 'snapshot.pre' Then it applies all the schema files .sch Then it applies all the index files .idx The it bulk copies the data in (bcp) Then it creates the Primary Keys Then it applies all the trigger files .trg Then it applies all the referential integrity files .dri
These all complete successfully but then the process kicks off again immediately after reapplying the snapshot. We are unaware of any settings that may be causing this.
Any help on what maybe causing this would be much appreciated.
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))
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?
All,I did it in ASP 1.0 with the datareader but in 2.0 the data reader appears to be gone, so how do i retrive a pdf out of the sql db and show it in a blank web page, tiajtr
Hello everyone, For the sake of simplicity let's imagin we have two tables simple tables: Categories(Id, Name) and Products(Id, CategoryId, Name). My question is how can I make a product list, filtered by category, using a Stored Producedure (SP). My objective is to have the SP receiving the list of categories we want to display, as an input parameter, using it in the SQL Statement. Something like: Procedure:ListProductsFilteredByCategory@Categories AS NVarCharSELECT [C.Name] AS CategoryName ,[P.Name] AS ProductNameFROM Products PJOIN Categories C ON C.Id = P.CategoryIdWHERE IN (@Categories); How could I make this SP work in a way that @Categories can contain an undefined number of category IDs? Best regards,DBA
Hi, I am trying to write a stored proc which returns a value to me. with the parameters I'm supplying to the stored proc, it results in a set of rows and what I need is to get the a filed value of the last selected row of this query. Do I need to write two queries for this? It is something opposite to the TOP keyword functionality. I need the one of the field values in the last row. Cud anyone help me with this??
I'm trying to replicate two very big databases with about 10 million of 4000 characters each. The publisher is SQL 2000, subscriber is SQL 7.0
The subscriber will also perform full text searches.
I'm trying to decide wheter I should use PULL or PUSH. The publisher is operating on a very low quality/speed internet connection, where the subscriber is enjoying a T1.
I want to use window script program to execute a pull subscription installed on SQL 2005 express edition. Because it free for downloand. is there a script that can call an existing pull subscription execution.
I am trying to pull the last three entries from a table in my database but I am having trouble writing the correct query. The database has multiple entries for each item in my database but I want to pull just the last three for each item. I have tried the TOP function with the items ordered in descending order but that only works when I define each item seperatley. I need to know how to pull the last three entries for every item I have in the table.
Hello, in my scenerio i am pulling a table from msde to my ppc and then i want to insert a new record to my local table but when i try to do that i faced with an index paradox forexample: if i pulled a table with record index 1 then i am triying to insert a new record at local but at local it tries to insert index 1 again so i can't finish my operation. My primariy index is seed 1 also. How can i achieve my goal?
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.
I created a sample test application to implement RDA, after I made all required configuration, I got the following exception after call rda.pull() :
{ Error # 1 of 1 Error Code: -2147024809 Message : An error has occurred on the computer running IIS. Try restarting the IIS server. Minor sqlError.: 28022 Source : Microsoft SQL Server 2005 Mobile Edition}
I have followed the technical artical "Remote Data Access Synchronization with SQL Server 2005 Compact Edition and Visual Basic.NET" to create a sample application.
But when I run debug mode and get an exception unexpected as following as doing rad.pull :
Immediate Window:
A first chance exception of type 'System.Data.SqlServerCe.SqlCeException' occurred in System.Data.SqlServerCe.dll
Message Box
[Contacts]
Code:
Private Sub RADPullButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RADPullButton.Click
Try VerifyDatabaseExists() Dim rda As SqlCeRemoteDataAccess rda = GetRDAObject() rda.Pull("Contacts", _ "SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax FROM Customers", _ My.Settings.ServerOleDBNorthwindConnectionString, _ RdaTrackOption.TrackingOnWithIndexes, _ "Contacts_Errors")
Catch ex As Exception MessageBox.Show(ex.ToString()) Finally Windows.Forms.Cursor.Current = Cursors.Default End Try
Dears, I'm trying to set up a rda connection through the pocket pc emulator (standalone version 1.0) and my laptop which runs Windows Vista Home Premium. To start up the rda I first need to connect from my emulated device to my laptop which runs IIS 7.0 (complete installation with compatibility toward IIE 6.0). Connection to http://localhost from my laptop is working fine.
I start the emulator (Pocket Pc with Windows Professional) and cradle the emulated device. Connection starts and I'm able to browse from my pc the content of the emulated device or to synchronize it. Then I run Internet Explorer on the emulator and try to connect to http://mycomputername (correct) but I receive a message which says that it cannot connect to the page I was looking for because connection was lost. Any suggestion on how to solve this issue? Kind regards and many thanks in advance Cristian
It seems that now I can connect to http://mycomputername and I'm able to browse the net with my pocket pc emulator. Anyway when I'm attempting to connect to htpp://mycomputername/subfolder/sqlcesa30.dll (the path is correct, I receive the following error message: "The page cannot be displayed or downloaded because the connection was lost. Check the connection and try later"..which is the same message I've been receiving before)
When calling the method below, if I use the SQL in red, the Pull method populates my data correctly. But, If I use the sql in Green, I get an errror message. I have set breakpoints and un the SQL that is returned from the sql statement is green, and it returns records. What gives? Are Joins not allowed?
public void GetDiagnosisList() { // Connection string to SQL Server 2000 string rdaOleDbConnectString = "Provider=sqloledb; Data Source=WORKPC;Initial" + " Catalog=database;User Id=username;Password=password"; // string SQLGet = "SELECT tblLUDiagnosis.strDiagnosisCode, tblLUDiagnosis.strDiagnosisDesc FROM tblLUDiagnosis" +// " INNER JOIN tblPatientEpisode ON tblLUDiagnosis.strDiagnosisCode = tblPatientEpisode.strPrimaryDiagnosis" +// " WHERE tblPatientEpisode.intHospitalID =" + intHospitalID; string SQLGet = "SELECT TOP 15 tblLUDiagnosis.strDiagnosisCode, tblLUDiagnosis.strDiagnosisDesc FROM tblLUDiagnosis";
i have one publisher with one pull subscription. when i make any change in publisher, that change is propegated to subscriber, but when i make any change in subscription, the change is not reflected. i have tried a lot of options but no one worked. please help me.
RDA.Pull method is not doing anything for me from a VSTO 2005 Outlook addin project. I have IIS & SQL Server 2005 running on my develpoment pc. I am using Integrated Windows Auth for vdir. It just stops execution at the line of code that calls RDA.Pull & doesnt return any tables nor throws an error. I have no idea where I am going wrong. I have tried using table names that dont exist in the .sdf too.
SqlCeRemoteDataAccess rda = new SqlCeRemoteDataAccess();
Can someone please help me with this? I need a query that will pull clients that made payments last year but not this year. I need the query to use date parameters so I can select any date range for the past year and the current year. I have listed the tables and fields that might be needed: I'm hoping to do this without temp tables. Date range is based on the tblPaymentReceipts.PaymentDate tblClients, ClientID tblPayment, PmtID, ClientID, Paystartdate, Paygroup tblPaymentReceipts, PmtRcptID, PmtID,CleintID,PaymentDate,PaymentAmount
Hi, Writing a report that displays total hours, etc for each day in a given month and I'm having trouble comking up w/ an elegant solution. Tables are set up like this: table1 (id, start_date,end_date,submitter) table2( id,table1_id,start_time,end_time, etc) Each record in table2 is a child to a parent record in table1 and there may be multiple children for each parent. The "start_time" and "end_time" fields are datatype "datetime" and are stored with actual times (not 12:00:00 AM"). I need the report to display the values for each day in a gridview, etc so I can act upon them from the "RowDataBound" sub (more math, etc). The problem that I am running into is that for records that have multiple children for a given day, I need to sum those results and display the summed data as a single row within the GV - can't seem to work that out - I keep getting every child record displaying as its own row in the GV. Any thoughts? I'm sure it's probably fairly simple but I am still a beginner...thanks as always