7 Followers · 187 Posts

Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems.

Learn more.

Question Dmitrii Baranov · Dec 21, 2025

I have a business service that actively reads data from a remote Postgres database. OnProcessInput opens a XDBC (actually JDBC) connection, executes an SQL query, fetches several thousand rows, iterates the resultset, and closes the connection. On each iteration I also need to update each source row in the remote database using PreparedStatement.

In other words, in every OnProcessInput call I have a long running SELECT statement and several thousands small UPDATE statements.

11
0 143
Question Jerry Wang · Apr 27, 2023

Hi experts

I'm trying to configure an IRIS ODBC connection with "Windows NT authentication using the network login ID". I have created the System DSN as below:

and user (PROD\test) in the SQL Gateway connection 

However, as the error message suggests, IRIS is trying to connect with PROD\svc_mist, rather than PROD\test configured above. 

Is there anyway to configure the ODBC connection with specified account with Windows Auth method? 

3
0 323
Question Sowrick Nandi · Nov 15, 2023

Hello community members!
I am trying to connect to Caché database from Azure data factory using ODBC connection. The aim is to read data from Caché and write it in Azure blob storage using copy activity. The ODBC connection is successful and i can see the Caché  tables, but i'm facing an error while reading the table contents.
I'm getting the below error :

ERROR [HY000] [Cache ODBC][State : S1000][Native Code 400]
[SQLCODE: <-400>:<Es ist ein nicht behebbarer Fehler aufgetreten >]
[Cache Error: <<PROTECT>%0AmBk1^%sqlcq.SYA.cls691.

5
0 540
Question Scott Roth · Jan 22, 2025

I am currently experiencing frustration with trying to Authenticate an Active Directory account through JDBC as the Hospital System moves from OnPrem SQL Server to using Azure SQL Server with Microsoft Entra Authentication.

Microsoft cannot give me a straight answer of what is required from a JDBC standpoint to authenticate from a Linux environment.

I am working with WRC, but we are both struggling to find the specific answer for JDBC. If I use my local desktop and JDBC to connect through DBeaver I don't have an issue.

2
0 157
Question Amirul Irfan · Dec 31, 2024

Hi everyone,

I'm trying to connect my Laravel application with the InterSystems IRIS Data Platform using ODBC.I need help setting up the ODBC connection and querying the database properly. What is the proper way to configure Laravel to work with an ODBC connection to InterSystems IRIS?

Any help would be greatly appreciated!

Thanks in advance!

1
0 196
Question Qais Azam · Oct 21, 2024

I’m trying to connect to an InterSystems Caché database from my local development environment using an IPv4 address. Most examples I’ve found show how to connect using the ODBC driver with the localhost or the default IP address (127.0.0.1). However, I want to know how to connect using my local IPv4 address.

Here’s what I need help with:

  1. Connecting with IPv4: I want to know how to specify my local IPv4 address in the ODBC connection string or any other method to connect to the Caché database.
4
0 325
Question Saghir Hussain · Jul 10, 2024

Hi

I get the following error when I am trying to create a linked server connection via MS OLE DB Provider for ODBC Drivers in MS SQL Server Management Studio. The message I get is:

The OLE DB provider "MSDASQL" for linked server "IRIS" reported an error. The provider did not give any information about the error.
Cannot initialize the data source object of OLE DB provider "MSDASQL" for linked server "IRIS". (Framework Microsoft SqlClient Data Provider)

I have setup the InterSystems ODBC setting on the server.

2
0 1025
Question A J · May 27, 2024

Hi everybody, I am trying to connect with an IRIS database where to retrieve data and import them to SQL server but the access gets denied. I would appreciate your help, Thank you, Jeb

I have following information:

Data Source Name --> I use it as the server name

Host(IP Address)

Port

Namespace --> I could use it in my script

import pyodbc

connection_string = ( "DRIVER={InterSystems IRIS ODBC35};" "SERVER=;" "PORT=;" "DATABASE=________;" "TrustServerCertificate=yes;" )

try: conn = pyodbc.connect(connection_string) print("Connection successful") except pyodbc.Error as ex: sqlstate = ex.

5
0 305
Question Andreas Schneider · Jun 1, 2024

Hi all! 

How can I get the ODBC drivers for IRIS 2024.1 if I am only using IRIS 2024.1 Community Edition? 
This page gives you the information: "The official location for customers to download the latest released and fully supported InterSystems IRIS driver packages is the WRC download site." My first thought on this is: Why does Intersystems make it so difficult for users to use their database? Why is the ‘official’ driver package hidden behind a login wall? Shouldn't Intersystems be happy if someone wants to work with their database, wants to connect?

4
0 792
Question Robert Steed · May 21, 2024

I created %ZSTART, having just learned about it. I included some minimal code to test it, as follows:
%ZSTART
SYSTEM
         WRITE "SYSTEM.",!
         QUIT
JOB
         WRITE "JOB.",!
         QUIT
LOGIN
         WRITE "LOGIN.",!
         QUIT
CALLIN
         WRITE "CALLIN.",!
         QUIT

Now Terminal still works as normal, and sure enough I get "LOGIN" displayed, but when I start Studio I get an error message such as the following. I wonder what Caché ODBC has to do with it.

3
1 248
Question Jordan Everett · Apr 15, 2024

Hey everyone,

I'm currently running into a very weird issue to where I am trying to connect with a 64 bit version of SQL Server Management Studio (SSMS) to a HealthShare instance. I have created a System DSN using the Drivers (image below) that were downloaded with the Client version of the install and I'm able to successfully connect using my credentials.

After I have my System DSN (image below) configured, I go into SSMS and add a Linked Server that is referencing the System DSN that was created. Also, I change the provider to be Microsoft OLE DB Provider for ODBC Drivers.

2
0 806
Question Heru.H · Jun 20, 2023

When connectiong to IRIS from UBUNTU LTS 18.04, I  got this error message:

ErrorException: odbc_connect(): SQL error: [unixODBC][Iris ODBC][State : S1000][Native Code 417]

[libirisodbcur6435.so]

Access Denied, SQL state S1000 in SQLConnect 

 

I'm using "ODBC-2022.1.0.209.0-lnxubuntu1804x64.tar.gz" downloaded from

"https://github.com/intersystems-community/iris-driver-distribution/tree…"

and folowing guide from

https://community.intersystems.com/post/intersystems-iris-laravel-odbc

 

Here's my odbc.

1
0 557
Question Katrina E Rodenhaus · Sep 14, 2023

I am very new to IRIS. We are developing a PHP application that connects to an IRIS instance of one of our vendors. This works well most of the time, but when I query a table to get data from particular fields that contain long text strings, it returns `NULL`. These fields are all `VARCHAR(30000)`.

I tried using the `$extract` functionality in the IRIS documentation, but that made no difference. I also tried setting the PHP setting `odbc.defaultlrl` to both 31K and 0. Neither resolved the issue.

1
0 372
Question Carlos Alberto Penedo Salheb Junior · Aug 21, 2023

Hi,

We're using a database gateway from IRIS to Oracle using ODBC. It has been occurring a character set issue that invalidate special characters. 

Oracle support has found data type missmatch in ODBC debug while transfering data between the databases. 

ODBC was download from official website.

Is there any Intersystems contact to send it to check whether there is a ODBC issue? I hasn't found any directy contact in Intersystems in website. 

2
0 209
Question Alan Macdonald · Aug 10, 2023

We are updating a C# module which creates consumes an OdbcConnection from System.Data.Odbc.  This module used to create a DSN-less connection through the InterSystems Cache driver, and we are updating it to call the IRIS ODBC35 driver following migration of the target database.

4
1 1267
Question heng a · Aug 10, 2023

hi, I followed the example of the system and wrote a method to connect to an external database to obtain a result set, but I couldn't get the result. can anyone please help on this. image

image

image

/// correct
ClassMethod PersonSets(name As %String = "", state As %String = "MA") As %Integer [ ReturnResultsets, SqlName = PersonSets, SqlProc ]
{
		// %sqlcontext is automatically created for a method that defines SQLPROC

		// SQL result set classes can be easily prepared using dynamic SQL. %Prepare returns a
		// status value. The statement's prepare() method can also be called directly.
4
0 306
Question Michoel Reach · Mar 28, 2023

In the documentation  Data Types | Caché SQL Reference | Caché & Ensemble 2018.1.4 – 2018.1.8 (intersystems.com)

it says that "by default, Caché establishes a system-wide ODBC VARCHAR maximum length of 4096; this ODBC maximum length is configurable"

Per instructions, I went to SMP -> System -> Configuration -> General SQL Settings, where most of the fields from  $SYSTEM.SQL.CurrentSettings()

appear. That one does not.

How does one change it, and can it be increased?

Thanks!

[Cross-posted from https://groups.google.com/g/intersystems-public-cache/c/eRFeORb_sb0]

2
0 445
Question Robson Tenorio · Jan 26, 2023

I already have a working setup with:

- Ubuntu 21.10
- Unixodbc 2.3.6
- ODBC-2018.1.5.659.0-lnxubuntux64
- libcacheodbcur64.so

I have tried to update to:

- Ubuntu 22.04
- Unixodbc 2.3.9

But, i am getting  "SQLDriverConnect: 0 [unixODBC][Driver Manager]Driver does not support the requested version".

So, I have tried to switch to:

-  libcacheodbcur6435.so
- ODBC-2018.1.7.721.0-lnxubuntux64.tar

But i am getting same error. Please, could someone help me?

1
0 423
Question Robson Tenorio · Jan 26, 2023

I already have a working setup with:

- Ubuntu 21.10
- Unixodbc 2.3.6
- ODBC-2018.1.5.659.0-lnxubuntux64
- libcacheodbcur64.so

I have tried to update to:

- Ubuntu 22.04
- Unixodbc 2.3.9
 

But, i am getting  "SQLDriverConnect: 0 [unixODBC][Driver Manager]Driver does not support the requested version".

So, I have tried to switch to:

-  libcacheodbcur6435.so
- ODBC-2018.1.7.721.0-lnxubuntux64.tar


But i am getting same error. Please, could someone help me?

1
0 349
Question Chenyang Fu · Jan 9, 2023

Product version

I try the 2021.2 2020.2 , they own have this issus

For this issus i have submit to dotnet , hope they can solve this or find the reson for this and solve this.

platform

ubuntu using unixOdbc dirver

Describe the problem you're observing:

using dotnet nuget System.Data.Odbc to connet the iris for some sql will have bug on linux,but it is ok on windows
and that driver is ok for other db type .
I have put a issue on dotnet also (dotnet/runtime#80015)
Is anyone can have a look for that

2
0 312
Question Thanongsak Chamung · Aug 31, 2022

Hi 

I try to create an ODBC connection to MariaDB using SQL Gateway Connection. It works when testing with isql command at OS level but in the SQL Gateway Connection test is failed as this message :

Connection failed.
SQLState: () NativeError: [2002] Message:

And another way try to testing with this command

d $SYSTEM.SQLGateway.TestConnection("MariaDBodbc")

I got the error message look like this :

INST01:USER>d $SYSTEMSQLGateway.
2
1 531
Question Erol Gurcinar · Jul 24, 2022

Hi team,

I'll start with an apology as I am trying to wrap my head around the architecture of how InterSystems IRIS database management works. I am attempting to connect to the platform remotely through say a JDBC or ODBC connection in order to run queries, searches (through SQL statements) on my laptop and was trying to understand whether this would be possible? It is possible to setup an inbound client connection and wanted to better understand the architecture of how the database association works for IRIS database management. Does it use it's own internal SQL database or are we able to connect to our own database and which databases are certified to run against the platform?

2
0 470
Question Thembelani Mlalazi · Jul 19, 2022

I am calling a stored procedure over an ODBC connection and every time I call it there are several warnings written to the log event {Found no Parameter 1 (used as 1) for query}.I seem to be getting this on every query executed and that seems to happen a number of times the query parameters are per query and its filling up my disc.

1) Is there a way to suppress these warnings as the query seems to be executed and data written to the database?

1
0 336
Question David Hockenbroch · Jun 8, 2022

Is there a way for us to restrict user's ODBC permissions based on what program they're running on a client?

For example, we have some older Windows apps (.exe) that are a regular part of our software package which require the user to be able to select, insert, update, and delete. Some of our users are also using other third-party apps to connect (mostly reporting tools) but we only want them to be able to select unless we've approved the exe. Is there a way to do that?

These are not applications that were developed using CacheDirect.

6
0 438