7 Followers · 187 Posts

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

Learn more.

Question Keith Davis · May 31, 2019

Forgive my lack of understanding, but I am working on a vendor created Cache database and the indexes specified in the classes for ODBC connections are not working. A few of them are created, but of the 50+ classes we have, only a handful of them are created when the class is compiled, yet no errors occur.

Example 1:

Example 2:

The code is creating the Index, and again, not compile errors, but most of the indices are not built.

21
0 1466
Question André Jouval · Aug 20, 2020

Hi,

Do you know if cache has programs and functions cache

I made a backup of my production base and when I use this function abouve I receve an error, but if I change any letter of the command the function go ok.

Didn´t work SELECT $$JOB1^KMIGxDESIG() FROM DUAL

Work sELECT $$JOB1^KMIGxDESIG() FROM DUAL

for this I.m using ODBC 64.

Thanks

1
0 351
Question Dave Day · Jul 7, 2020

Hi,

I get this error [Cache ODBC][State : HYC00][Native Code 469] and zero rows returned with the following query.

SELECT "Timestamp","Skillset"  FROM "dbo"."iSkillsetStat" 
WHERE (Timestamp >= '2020-06-29 00:00:00' 
AND Timestamp < '2020-06-30 00:00:00')

I'm using Qlik Attunity Replicate to extract data, the query was formatted  by the tool. The query will return data in excel and SSIS, but not using Replicate.

So far I've tried using two ODBC drivers

-----------------------------------------------------

    Driver Name:    CacheODBC64.DLL
    Unicode Client Version:    2017.2.2.865.0
    Compiled at:

3
0 645
Question Adel Elsayed · Jul 13, 2020

Pyodbc supports calling stored procedure  , but if the IRIS Stored Procedure ROWSPEC has a column with datatype specified as %Date or %Time, Pyodbc fails to fetch it and throws this error.

"

pyodbc.Error: (' 2201', '[ 2201] [Cache ODBC][State :  22018 ][Native Code 22005]\r\nERROR #388: Unknown error, code 22005 (22005) (SQLGetData)')

"

on printing the cursor execute description, pyodbc reads the column as <int>.

and if the ROWSPEC datatype specification was removed, it fetches successfully.

i'm using the driver "InterSystems IRIS ODBC35"  2019.2.0.107

3
0 1099
Question Jeff Burdette · Nov 20, 2017

Hello,

I'm working on integrating a Cache database into an existing .NET project of mine.  I'm trying to execute certain queries utilizing the Cache ODBC driver.  The first error I ran into was "[S1000] [Cache ODBC][State : S1000][Native Code 417] Access Denied".  The part that's throwing me for a loop though is that the application ran ~200 successful queries before I started getting that.  After some of those Access Denied errors, they turned into "[Cache ODBC][State : S1T00][Native Code 450] Request timed out due to user timeout".  This was all with the regular (2.5?) driver.

I then started

8
0 10583
Question Oliver Wilms · May 27, 2020

Hello,

I work as a contractor for the Department of Veterans Affairs. I want to read data from an Excel workbook. I searched posts here and saw Apache POI suggested. I believe Apache POI is not approved for use within VA. I also believe we should be able to run SQL query against Excel. Has anybody done such a thing or are there other ways to read data from Excel workbooks?

Thanks

11
0 1551
Question Jeffrey Drumm · Jan 6, 2020

While I can query the HL7 message class EnsLib.HL7.Message (EnsLib_HL7.Message for SQL) to my heart's content in the SQL Shell or the Management Portal's SQL page, I can't seem to SELECT anything other than ID/%Id from an ADO/ODBC client. Properties such as TimeCreated, Name, MessageTypeCategory, etc. all seem to prevent the query from ever completing EXCEPT when I provide the ID as part of the WHERE criteria.

This works fine in the Management Portal and Shell:

SELECT head.ID As HeadId, body.ID As BodyId, body.Name as BodyName
FROM Ens.MessageHeader head
INNER JOIN EnsLib_HL7.Message body
ON
7
0 536
Question Ken Wenze · Jan 6, 2020

Where can i get the latest odbc providers from SQL Server 2012/2016?

I see some posts on line to  an ftp site out there but I am unsuccessful at getting access to it.  I have a version loaded on my server but get errors when querying cache'.

"[Cache ODBC][State : 22005][Native Code 22005]" 

Any help would be appreciated.

the one we have might be version  2014.01.05851  64 bit (would that make sense?)

4
0 1820
Question Brian Cromwell · Feb 4, 2020

I am developing a viewer for Crystal Reports using the Crystal Reports for Visual Studio (CR13SP26).  I have also installed the latest ODBC Drivers for Cache, but when I connect some reports to the Cache database using a connection string, I get an error that I failed to retrieve data from the database, and it reports the Database Vendor Code 30.  Has anyone used Crystal Reports connecting via a connection string and received this error?  If so, how did you correct it?

Thank you,

Brian Cromwell

2
0 985
Article Tony Coffman · Feb 6, 2020 1m read

Hello Community,

Thank you all for your continued feedback and support of our ad hoc reporting platform, VDM.  There's been some questions around setting up a non-ODBC connection for InterSystems platforms.  We published a new YouTube video showing the steps necessary to connect to InterSystems Caché and InterSystems IRIS with BridgeWorks VDM. 

 

0
3 291
Question Sam Clarke · Jan 30, 2020

Cache / Ensemble version 2016.2.2.853.0

I have a need to restrict ODBC access to certain users to prevent unwanted access to our cache database.

We have a limited number of legacy applications that use ODBC to connect to read data and are currently not in a position to have these amended any time soon so in the interim, I am hoping someone will be able to provide me with some assistance.

Any suggestions on where to start?

1
0 510
Question Oliver Wilms · Nov 28, 2019

Hello,

I work with Ensemble Business Operation with SQL Outbound Adapter. I try to query a DSN defined database that happens to be Cache on the same machine in the same instance of Healthshare 2017.1.3. This worked fine on Linux server when I used JDBC driver. Now I want to run it on my Windows 10 laptop. I set up DSN and I can test connection successfully. I provided DSN in Operation DSN setting and I tried with and without Credential. I get ERROR <Ensd>ErrOutConnectFailed: ODBC Connect failed for 'myDSN'  / 'myDSN' with error ERROR #6022: Gateway failed: DSN/User Connect.

I tried to set up

3
0 938
Question Ikara Ikliki · Nov 13, 2019

I have SQLCompute with SQLComputeCode on a couple of Properties in my class.

These work fin when I insert/update via ObjectScript or SQL from the ManagementPortal.

However, if I insert (create new record) via my C# app using the Caché ODBC DLL the SQLCompute is ignored, it does not run.

Is this expected InterSystems Caché behaviour? We are on latest IRIS platform.

7
0 530
Question Matthias Ruckenbauer · Aug 29, 2019

Hi folks,

My fist post here and a tricky question right away!

I have a remote MySQL database table ("SomeData"; not under my control), and a Caché-class (remote.SomeDataAccess) linked to it via ODBC using the link table wizard.

The remote table has a field "id" which is the primary key and an autoincrement bigint value. This has been considered in the setup and the generated class has an

Index MainIndex On id [ IdKey ];

which looks fine to me. The storage is

Storage GSQLStorage{<StreamLocation>^remote.SomeDataAccessS</StreamLocation><Type>%CacheSQLStorage</Type>}

For the most part this

3
0 556
Question Alexei Konoferchuk · Jun 6, 2019

Hello,

There is a problem connecting clients through ODBC.

"ERROR [08S01] [Cache ODBC][State : 08S01][Native Code 459]
Connection via cconnect failed: 
TCP connect() failed - exception satisfied select().
Reason: (10061, 0x274d) No connection could be made because the target machine actively refused it."

Error sometimes occurs. In cconsole.log there are only messages about high CPU usage.

ODBC and Cache version Cache for Windows (x86-64) 2013.1.4 (Build 801).

Any suggestions?

3
0 4213
Question Amir Samary · May 7, 2019

Hi!

I was trying to create a query that can be exposed as a stored procedure (function actually) that would return a resultset with a random number of columns. 

Unfortunately, it seems that unless I specify the ROWSPEC annotation on the Query method, I won't get any columns exposed. I was hoping to implement QueryNameGetInfo method and specify the names and number of columns I would be returning dynamically. But it seems that GetInfo information is simply ignored.

Here is my code:

Class Test.Test
{
	ClassMethod MyCustomQueryClose(ByRef qHandle As %Binary) As %Status
	{
	    Quit $$$OK
	}
5
0 763
Question Jeremy Forsyth · May 10, 2019

Cache version: Cache for Windows (x86-64) 2017.2.1 (Build 801_3U)

Good Afternoon,
I have a co-worker who is trying to run the below query via ODBC. The issue is that the query appears to be running extremely slow (nearly 2 hours).

SELECT A.RecNo, T.SDSInstID, T.TranEffectDate, COUNT(T.InternalTXID) as NoofTransactions
FROM SDS_DATA._Transaction T
INNER JOIN SDS_DATA.DataFeed A
on A.BankAccountBSB = T.BankAccountBSB
and A.BankAccountNo = T.BankAccountNo
WHERE T.TranEffectDate >= DATEADD(yy,-1,CURRENT_DATE)
GROUP BY A.RecNo, T.SDSInstID, T.TranEffectDate

 Below is the generated query plan
 

Statement Text

3
0 1071
Question Marco den Hartog · Mar 6, 2019

Hi community,

I have a rights problem when giving a user permission to perform some select queries on particular tables. So I have created a user with the following rights.

So this all works well. No problem so far. But the customer is using a program where you can easily build visually the query by selecting the table, choose the right colums etc. So the problem we have is when I give the user the Role %All the tables are shown.

And the user is allowed to query all tables.

6
0 693
Question Stephen De Gabrielle · Feb 1, 2019

Hi,

I'm writing to an ODBC connection to a SQLserver database, and I seem to be sending the wrong data type to a date colum?

set tSC = ..Adapter.ExecuteUpdate(.intRows,sqlInsert,$ZDATETIME($NOW(),3,2), pRequest.ComposerName, [...])

I think  `$ZDATETIME($NOW(),3,2)` is ODBC datetime format: 

https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=RCOS_fzdatetime#RCOS_fzdatetime_tformat

Do I have it wrong?

Stephen

3
0 616
Question Alex Van Schoyck · Jan 31, 2019

Problem

I got a quick answer from this forum yesterday so I'm going to try my luck again today!  I've hit an error in another table when trying to extract through the Cache ODBC driver, but this one gives me less details and I'm struggling to pinpoint what might be causing the error.

The table I am trying to extract is called REF_TABLE_ONE.

Here's the Error:

[Cache Error: <<NOLINE>%0AmBx1^%sqlcq.PRD.2249>]
[Location: <ServerLoop - Query Fetch>]

Research/Trial & Error

Based on my research, it looks like the error results from something missing in a routine.I have limited access to this system.

3
0 1339
Question Alex Van Schoyck · Jan 30, 2019

Problem

I'm working on exporting data from an Intersystems Cache database through the Cache ODBC Driver. There is a particular table that is giving me an error message. The ODBC Driver crashes and reports an error from the Cache system. I think I was able to trace down where the error is coming from, but I do not know how to debug or fix the error.

The table I am trying to extract is called SEDMIHP.

Here's the Error:

[Cache Error: <<UNDEFINED>%0AmBd16^%sqlcq.PRD.3284 ^SEDMIHP(4,77)>]
[Location: <ServerLoop - Query Fetch>]

Research/Trial & Error

I was able to open up Cache Management Studio and

2
0 1714
Question Stephen De Gabrielle · Dec 20, 2018

Hi, 

I'm working on my first SQL service using the SQL inbound adaptor, and I'm having trouble. 

I've been following the documentation but it errors on  set req=##class(ESQL.request).%New()

Would anyone be kind enough to share a working example?

Kind regards, 

Stephen

Class ESQL.NewService1 Extends Ens.BusinessService 
{

Parameter ADAPTER = "EnsLib.SQL.InboundAdapter";

Method OnProcessInput(pInput As EnsLib.SQL.Snapshot,
   pOutput As %RegisteredObject) As %Status
{

 set req=##class(ESQL.request).%New()
 set req.CustomerID=pInput.Get("CustomerID")
 set req.SSN=pInput.Get("SSN")
 set
1
0 539
Question Robert Osborne · Dec 13, 2018

Hello All,

Hoping someone can help with this odd error.

A vbscript file is being used to perform an update to cache.

The file has worked without an issue for well over a year.

Recently, the update has begun to throw an error.

(class references modified to remove client data)

UPDATE CACHE.UCI.Reg.Pat (Column1) VALUES ('USERNAME') WHERE ID = '2190284'

C:\Web\Config\SchedTasks\script1.VBS(73, 6)

Microsoft OLE DB Provider for ODBC Drivers: [Cache ODBC][State : S1000][Native Code 105]

[c:\Windows\SysWOW64\cscript.exe]

[SQLCODE: <-105>:<Field validation failed in UPDATE>]

[Location: <ServerLoop>]

[%msg: <Field

3
0 680
Question Mark Anthony Manalo · Jun 4, 2018

Hi Everyone,

I am trying to built a SSIS package thru BIDS Visual Studio 2013. My Datasource is a InterSystems Cache Database, I wanted to Import Tables records from the Datasource to MS SQL Server 2014.

As a Sanity check. I only created one Package to import one Table to MSSQL Server to try out. The connection to the InterSystems Cache Database was successful. The DSN for the InterSystems Cache Database is created in the System for 32 and 64 Bit.

Here is where my Problem lies.

6
0 2208
Question Scott Hawkins · Oct 30, 2018

Hello,

I have been trying to pull data through a linked server in SSMS from an InterSystems Cache Database for a while, this is to enable us to join the data to other source systems in our Data Warehouse.

I have set up an ODBC connection and a linked server to the database and can execute queries through OPENQUERY in Management studio, but the data is huge (> 100million rows). So when I execute a SQL query with a WHERE clause the query just spins.

If I SELECT TOP 100 with no where clause the query returns data, so I know that all the connections are correct.

2
0 1000