【问题标题】:How to execute Transact-SQL functions如何执行 Transact-SQL 函数
【发布时间】:2018-07-17 08:59:24
【问题描述】:

我们如何使用 JAVA 执行 Transact-SQL 函数。

Transact-SQL 函数:

SELECT SUSER_ID('sa'); 

我们必须使用java来执行上面的语句。我们可以使用 JAVA 来实现吗?

感谢您的回复。 嗨,我正在尝试如下所示,当我在下面使用时出现“com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near '{'”错误。

     String loginName = "domain\\geethap";
     String selectQuery = "{ EXEC SUSER_SID(?) }";

    CallableStatement cs = connection.prepareCall(selectQuery);
    cs.setNString(1, loginName);
    cs.registerOutParameter(1,java.sql.Types.VARBINARY);
    cs.execute();

    ResultSet resSet = cs.getResultSet();
logger.error("** got resultset **");    
    while(resSet.next()){
        byte[] result = resSet.getBytes(1);
        log.error("ByteSet"+result.length);
        log.error("** ResultSet object:"+result);

    }

【问题讨论】:

    标签: java sql sql-server-2008 tsql


    【解决方案1】:

    使用可调用语句:

    String loginName = "domain\\geethap";
    String selectQuery = "EXEC SUSER_ID ?";
    
    CallableStatement cs = connection.prepareCall(selectQuery);
    cs.setNString(1, loginName);
    cs.registerOutParameter(1,java.sql.Types.VARBINARY);
    cs.execute();
    
    ResultSet resSet = cs.getResultSet();
    logger.error("** got resultset **");    
    while(resSet.next()){
        byte[] result = resSet.getBytes(1);
        log.error("ByteSet"+result.length);
        log.error("** ResultSet object:"+result);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-23
      相关资源
      最近更新 更多