Friday, February 24, 2012

C# Replication Between Microsoft SQL server 2000 and Microsoft Access

Hi all,
Currently I need to perform in C# merge publication between SQL Server
2000 and Microsoft Access 2000. I tried using Jet Object Replication
COM to perform this but encounter the following error.
Any advice or alternative solution is greatly appreciated.
Thanks.
Rgds,
Winston
Codes
JRO.ReplicaClass rep1 = new JRO.ReplicaClass();
rep1.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0; Data
Source=C:\\Test\\SyncTest\\SyncTest\\synctest.mdb" ;
rep1.Synchronize("TestSrv.TestDB.TestPub",
JRO.SyncTypeEnum.jrSyncTypeImpExp,
JRO.SyncModeEnum.jrSyncModeDirect);
Errors
System.Runtime.InteropServices.COMException (0x800A0BB9): Arguments
are of the wrong type, are out of acceptable range, or are in conflict
with one another.
at JRO.ReplicaClass.set_ActiveConnection(Object ppconn)
The above error occurs at line:
rep1.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0; Data
Source=C:\\Test\\SyncTest\\SyncTest\\synctest.mdb" ;
can you post your entire code?
"Winston" <skuzski@.hotmail.com> wrote in message
news:62956cb.0403311901.75d424a1@.posting.google.co m...
> Hi all,
> Currently I need to perform in C# merge publication between SQL Server
> 2000 and Microsoft Access 2000. I tried using Jet Object Replication
> COM to perform this but encounter the following error.
> Any advice or alternative solution is greatly appreciated.
> Thanks.
> Rgds,
> Winston
> Codes
> --
> JRO.ReplicaClass rep1 = new JRO.ReplicaClass();
> rep1.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0; Data
> Source=C:\\Test\\SyncTest\\SyncTest\\synctest.mdb" ;
> rep1.Synchronize("TestSrv.TestDB.TestPub",
> JRO.SyncTypeEnum.jrSyncTypeImpExp,
> JRO.SyncModeEnum.jrSyncModeDirect);
> Errors
> --
> System.Runtime.InteropServices.COMException (0x800A0BB9): Arguments
> are of the wrong type, are out of acceptable range, or are in conflict
> with one another.
> at JRO.ReplicaClass.set_ActiveConnection(Object ppconn)
> The above error occurs at line:
> rep1.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0; Data
> Source=C:\\Test\\SyncTest\\SyncTest\\synctest.mdb" ;
|||"Hilary Cotter" <hilaryk@.att.net> wrote in message news:<e79fC15FEHA.2732@.tk2msftngp13.phx.gbl>...
> can you post your entire code?
Hi,
The entire code is:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
namespace SyncTest
{
/// <summary>
/// Summary description for Form1.
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Button button1;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
//
// TODO: Add any constructor code after
// InitializeComponent call
//
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(176, 120);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(232, 40);
this.button1.TabIndex = 0;
this.button1.Text = "Sync";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(608, 273);
this.Controls.Add(this.button1);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
}
#endregion
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void button1_Click(object sender, System.EventArgs e)
{
JRO.ReplicaClass rep1 = new JRO.ReplicaClass();
rep1.ActiveConnection
= "Provider=Microsoft.Jet.OLEDB.4.0; Data
Source=C:\\CupaDMS\\SyncTest\\SyncTest\\synctest.m db";
rep1.Synchronize("buildfoliousa\buildfoliousa.insp ections.inspections",
JRO.SyncTypeEnum.jrSyncTypeImpExp, JRO.SyncModeEnum.jrSyncModeDirect);
}
}
}

No comments:

Post a Comment