设置PublicationMonitor.ConnectionContext会抛出NullReferenceException

时间:2014-02-27 22:30:39

标签: c# sql-server-2008 replication nullreferenceexception

起初我试过这个:

var conn = new ServerConnection(@"SMTDEV\SQL2008", "login", "password");
var pubMon = new PublicationMonitor("PRMDemoRep", "distribution", @"SMTDEV\SQL2008", "PRMDemo", conn);

如果我在第二行设置了断点,我可以从即时窗口成功运行以下代码:

conn.ExecuteScalar("select 1");

所以我知道ServerConnection工作正常,绝对不是null。其他参数都是字符串,所以那里应该没有问题,但是当我运行第二行时,我不断收到NullReferenceException。

我也尝试使用PublicationMonitor的无参数构造函数,我能够以这种方式设置每个字符串属性,但是当我将ConnectionContext设置为我的ServerConnection时,我得到了NullReferenceException。

任何人都有任何想法,为什么这个世界会发生?

编辑:我刚刚尝试使用ReplicationMonitor类,遇到了同样的问题。我试图将它指向多个服务器,但总是遇到NullReferenceException。

1 个答案:

答案 0 :(得分:1)

我有同样的问题,我通过检查我正在使用的dll的版本来修复它。我的项目引用了2008程序集(100 / SDK文件夹),但我的本地共享SQL组件已升级到2012.当我将引用更改为2012程序集(110 / SDK)时,它工作正常。

希望这有帮助。