Uploaded image for project: 'Teiid'
  1. Teiid
  2. TEIID-2020

Running Sybase procedure with jconnect driver in Teiid fails

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 7.4.1, 7.7.1, 8.0
    • 7.4.1
    • Query Engine
    • None

      run the following against the Sybase_test.vdb

      exec sp_rows_between(1,6,'SmallA')

      You'll receive the below error:

      [TranslatorException] ZZZZZ: Error Code:ZZZZZ Message:'

      { ?= call sp_rows_between(?,?,?)}

      ' error executing statement(s):

      {1}

      1 [SybSQLException]Execute cursor 'jconnect_implicit_3' is declared on a procedure which contains a non-SELECT or a SELECT with a COMPUTE clause. For the declaration of this cursor to be legal it should have a single SELECT statement without a COMPUTE clause.

      at org.teiid.translator.jdbc.JDBCProcedureExecution.execute(JDBCProcedureExecution.java:70)
      at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:264)
      at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:338)
      at org.teiid.dqp.internal.process.DataTierTupleSource.access$000(DataTierTupleSource.java:80)
      at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:138)
      at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:135)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      at org.teiid.dqp.internal.process.DQPCore$FutureWork.run(DQPCore.java:121)
      at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:230)
      at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:118)
      at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:288)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:662)
      Caused by: com.sybase.jdbc3.jdbc.SybSQLException: Execute cursor 'jconnect_implicit_3' is declared on a procedure which contains a non-SELECT or a SELECT with a COMPUTE clause. For the declaration of this cursor to be legal it should have a single SELECT statement without a COMPUTE clause.

      at com.sybase.jdbc3.tds.Tds.a(Unknown Source)

      I can use DBVisualizer and the same jConnect driver and run the exact same procedure with correct results.

        1. Sybase_test.vdb
          8 kB
          Deborah Steigner

              rhn-engineering-shawkins Steven Hawkins
              rhn-support-dsteigner Deborah Steigner (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: