从Java调用Catalog过程执行SSIS包

时间:2017-03-13 16:23:36

标签: java sql-server jdbc ssis

所以我想做的是调用包含类似

之类的存储过程usp_Something
EXEC [SSISDB].[catalog].[create_execution]
    @folder_name = @f_name,
    @project_name = @pro_name,
    @package_name = @pack_name,
    @execution_id = @exec_id output

EXEC [SSISDB].[catalog].[set_execution_parameter_value] @exec_id,  @object_type=50, @parameter_name=N'SYNCHRONIZED', @parameter_value=1

EXEC [SSISDB].[catalog].[start_execution] @exec_id
--SET @output_execution_id = @exec_id

在Java中,我使用SQL Server身份验证尝试调用usp_Something过程与JDBC驱动程序建立连接。但是我收到了错误

  

使用SQL Server的帐户无法启动该操作   验证。使用Windows帐户启动操作   认证

现在,我知道您需要使用Windows身份验证来运行软件包,但有没有解决方法?我被告知不要使用Windows身份验证,因此我需要一种方法来使用SQL Server身份验证

1 个答案:

答案 0 :(得分:0)

我在项目中所做的是使用integratedSecurity:

JDBC:SQLSERVER:// $ {db.server};的databaseName = $ {db.name};实例名= $ {db.instance}; integratedSecurity = TRUE;

使用运行java应用程序的同一用户完成与db的连接。在我的例子中,我将spring-boot应用程序作为域用户运行,该用户也配置为连接到SQLServer并执行存储过程。