如何通过Java.sql对象使用SQL Server sp_addsubscription

时间:2014-08-28 07:46:23

标签: java sql sql-server

给出以下java代码:

Connection con = DriverManager.getConnection(url, userName, password);
con.setAutoCommit(false);
Statement s1 = con.createStatement();
s1.executeUpdate("exec sp_addsubscription @publication = N'TestPublication', @subscriber = N'testDB', @destination_db = N'DBPublish_replication2', @subscription_type = N'Push', @sync_type = N'automatic', @article = N'all', @update_mode = N'failover', @subscriber_type = 0");

我一直在"程序' sp_addsubscription'不能在交易中执行"错误。

有关使用用户的一些详细信息:

  1. 已经拥有bulkadmin和sysadmin权限的用户(事实上,我已经检查了该用户的所有服务器角色)
  2. 脚本在没有错误的情况下顺利运行,当在带有Windows身份验证用户的sql management studio上使用时
  3. 那我在这里错过了什么?我错过了任何用户权限吗?

1 个答案:

答案 0 :(得分:0)

错误消息很明确:您正在尝试在事务中运行该过程。对于SSMS中的repro,在执行过程之前抛出begin tran;你应该得到同样的错误。