| Products | Versions |
|---|---|
| TIBCO Data Virtualization | All supported versions |
In Spotfire Data Virtualization (SDV), when using the JDBC-ODBC Bridge adapter to connect to Canary DSN, the introspection fails with error "[Microsoft] [ODBC Driver Manager] Function sequence error" -

Complete error message stack trace from cs_server.log file
ERROR [GetIntrospectableResourceIdsTask Get Introspectable Resource Identifiers] 2026-08-17 11:26:30.348 -0400 TaskManager - Task failed: GetIntrospectableResourceIdsTask Get Introspectable Resource Identifiers
com.compositesw.common.CompositeRuntimeException: [Microsoft][ODBC Driver Manager] Function sequence error
at com.compositesw.server.task.TaskWithResults.run(TaskWithResults.java:90) ~[csserver.jar:?]
at com.compositesw.server.task.TaskManager$TaskRunner.run(TaskManager.java:149) ~[csserver.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
at java.lang.Thread.run(Thread.java:1583) ~[?:?]
Caused by: com.compositesw.common.CompositeRuntimeException: [Microsoft][ODBC Driver Manager] Function sequence error
at com.compositesw.server.api.core.DataSourceApi.internalGetIntrospectableResourceIds(DataSourceApi.java:1341) ~[csserver.jar:?]
at com.compositesw.cdms.datasource.introspect.task.GetIntrospectableResourceIdsTask.doTaskWithResultsRun(GetIntrospectableResourceIdsTask.java:61) ~[csserver.jar:?]
at com.compositesw.server.task.TaskWithResults.run(TaskWithResults.java:80) ~[csserver.jar:?]
... 4 more
Caused by: com.compositesw.common.CompositeRuntimeException: [Microsoft][ODBC Driver Manager] Function sequence error
at com.compositesw.cdms.datasource.introspect.AbstractIntrospector2.getIntrospectableResourceIds(AbstractIntrospector2.java:290) ~[csserver.jar:?]
at com.compositesw.cdms.datasource.introspect.IntrospectionHandler.getIntrospectableResourceIds(IntrospectionHandler.java:320) ~[csserver.jar:?]
at com.compositesw.server.api.core.DataSourceApi.internalGetIntrospectableResourceIds(DataSourceApi.java:1339) ~[csserver.jar:?]
at com.compositesw.cdms.datasource.introspect.task.GetIntrospectableResourceIdsTask.doTaskWithResultsRun(GetIntrospectableResourceIdsTask.java:61) ~[csserver.jar:?]
at com.compositesw.server.task.TaskWithResults.run(TaskWithResults.java:80) ~[csserver.jar:?]
... 4 more
Caused by: com.compositesw.common.CompositeRuntimeException: [Microsoft][ODBC Driver Manager] Function sequence error
at com.compositesw.cdms.datasource.introspect.AbstractIntrospector2$1.run(AbstractIntrospector2.java:256) ~[csserver.jar:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?]
... 3 more
Caused by: java.sql.SQLException: [Microsoft][ODBC Driver Manager] Function sequence error
at cdata.jdbc.jdbcodbc.OdbcSql.checkSQLError(Unknown Source) ~[?:?]
at cdata.jdbc.jdbcodbc.OdbcSql.checkSQLError(Unknown Source) ~[?:?]
at XcdataXjdbcodbcX260X9672.gnc.checkError(Unknown Source) ~[?:?]
at XcdataXjdbcodbcX260X9672.hnc.a(Unknown Source) ~[?:?]
at XcdataXjdbcodbcX260X9672.gnc.a(Unknown Source) ~[?:?]
at XcdataXjdbcodbcX260X9672.cnc.getProcedures(Unknown Source) ~[?:?]
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
at XcdataXjdbcodbcX260X9672.rqc.invoke(Unknown Source) ~[?:?]
at jdk.proxy5.$Proxy182.getProcedures(Unknown Source) ~[?:?]
at com.cdata.cis.jdbcodbc.JDBCODBCMetadata.getProcedures(Unknown Source) ~[?:?]
at com.compositesw.cdms.datasource.extensions.relational.ExtensionJdbcIntrospector2.getIntrospectableResourceChildIds(ExtensionJdbcIntrospector2.java:873) ~[csmodule_datasource.jar:?]
at com.compositesw.cdms.datasource.introspect.AbstractIntrospector2$1.run(AbstractIntrospector2.java:250) ~[csserver.jar:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?]
... 3 moreAll Supported Operating Systems
During the introspection, SDV automatically tries to discover everything it can about a relational database—including Tables, Views, and Stored Procedures. When the SDV requests procedure metadata (getProcedures()), the Canary ODBC driver fails to handle the request. Because Canary is a time-series historian, it does not support or utilize stored procedures.
To resolve this error -
(1) Open the Canary data source in Studio > navigate to the 'Overrides' tab > in the find dialog box, search for 'Data source supports procedures' > uncheck the box. Save the changes.
Screenshot of the configuration for reference -

(2) Now re-try the introspection and it will show the Canary resources,
Screenshot for reference -

Note - this resolution will help any other database connectivity that does not support procedures.
This article provides details on how to resolve "Function sequence error" when connecting to Canary using Spotfire Data Virtualization JDBC-ODBC Bridge adapter.