使用RMO的SQL Server Express 2008合并复制会导致“执行Transact-SQL语句或批处理时发生异常."错误 ? [英] SQL Server Express 2008 Merge Replication using RMO causes “An exception occurred while executing a Transact-SQL statement or batch.” error ?

查看:165
本文介绍了使用RMO的SQL Server Express 2008合并复制会导致“执行Transact-SQL语句或批处理时发生异常."错误 ?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用从获得的RMO编程来创建合并复制.在这里

I am trying to create a Merge Replication using RMO Programming which i got from here

string publisherName = "DataSourceName";
        string publicationName = "AdvWorksSalesOrdersMerge";
        string publicationDbName = "AdventureWorksDW2008R2";
        ReplicationDatabase publicationDb;
        MergePublication publication;
        // Create a connection to the Publisher.
        ServerConnection conn = new ServerConnection(publisherName);
          try
        {
             //Connect to the Publisher.
            conn.Connect();

            // Enable the database for merge publication.               
            publicationDb = new ReplicationDatabase(publicationDbName, conn);
            if (publicationDb.LoadProperties())
            {
                if (!publicationDb.EnabledMergePublishing)
                {
                    publicationDb.EnabledMergePublishing = true;
                }
            }
            else
            {
               //  Do something here if the database does not exist. 
                throw new ApplicationException(String.Format(
                    "The {0} database does not exist on {1}.",
                    publicationDb, publisherName));
            }

            // Set the required properties for the merge publication.
            publication = new MergePublication();
            publication.ConnectionContext = conn;
            publication.Name = publicationName;
            publication.DatabaseName = publicationDbName;

            // Enable precomputed partitions.
            publication.PartitionGroupsOption = PartitionGroupsOption.True;

             //Specify the Windows account under which the Snapshot Agent job runs.
            // This account will be used for the local connection to the 
            // Distributor and all agent connections that use Windows Authentication.

              publication.SnapshotGenerationAgentProcessSecurity.Login = userid;
               publication.SnapshotGenerationAgentProcessSecurity.Password = password;

             //Explicitly set the security mode for the Publisher connection
            // Windows Authentication (the default).
            publication.SnapshotGenerationAgentPublisherSecurity.WindowsAuthentication = true;

             //Enable Subscribers to request snapshot generation and filtering.
            publication.Attributes |= PublicationAttributes.AllowSubscriberInitiatedSnapshot;
            publication.Attributes |= PublicationAttributes.DynamicFilters;

            // Enable pull and push subscriptions.
            publication.Attributes |= PublicationAttributes.AllowPull;
            publication.Attributes |= PublicationAttributes.AllowPush;

            if (!publication.IsExistingObject)
            {
                 //Create the merge publication.
                publication.Create();

                // Create a Snapshot Agent job for the publication.
                publication.CreateSnapshotAgent();
            }
            else
            {
                throw new ApplicationException(String.Format(
                    "The {0} publication already exists.", publicationName));
            }

        }

        catch (Exception ex)
        {
             //Implement custom application error handling here.
            throw new Exception(String.Format("The publication {0} could not be created.", publicationName), ex);

        }
        finally
        {
            conn.Disconnect();
        }



但在这一行



but at this line

publicationDb.EnabledTransPublishing = true;



我收到错误-执行Transact-SQL语句或批处理时发生异常."

所以请帮我解决这个问题..

等待答案..



i am getting error -" An exception occurred while executing a Transact-SQL statement or batch."

So please help me out from this problem ..

waiting for your answers..

推荐答案

您是否为连接指定了正确的用户名密码?安全权限到位了吗?

看看此MSDN支持线程 [
Did you specify the correct userid-password for the connection? Security privilege in place?

Have a look at this MSDN support thread[^], not exactly same but hints on system-administrator account in place and active.


这篇关于使用RMO的SQL Server Express 2008合并复制会导致“执行Transact-SQL语句或批处理时发生异常."错误 ?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆