#Caché

30 Followers · 4.5K Posts

  

InterSystems Caché is a multi-model DBMS and application server. See more details here.

Documentation.

Question Rahul Reddi · Apr 2, 2022

Hi Team,

We are facing an issue connecting to a remote Cache DB server using CacheODBC 2018 on the client side.

The connection works fine without SSL on the Cache server, but when SSL is enabled, we are getting the below error - "Failed to load cconnect executable!, SQL state 08S01 in SQLConnect"

Also, the connection works fine when the PHP script is run through CLI on client server, but fails with the above error when the script invoked from a client browser.

Could you please help us with any pointers in resolving the issue?

0
0 214
Question Anderson F · Apr 1, 2022

Hello everybody.

My question originated when trying to help a coworker...

There is a system module, specifically a ClassMethod that inserts records into a table as per the pseudocode below:

set Obj = ##class(FooSchema.FooTable).%New()
set Obj.fooProp = fooValue
// Other Foo properties //
set status = Obj.%Save()

From time to time, when trying to save the object, an error , informing that it was not possible to obtain the exclusive lock on the table instance

I want, using objectscript, to find out which other part of the system (Classmethod) is causing the lock on this table

Reading the

2
0 298
Article Evgeny Shvarov · Jun 13, 2016 1m read

Hi, Community!

Want to share with you one debugging approach from the Russian forum.

Suppose I want to debug the application  and I want it to stop the execution on a particular line.

I add in code this line:

l +d,-d

When I want to start debugging in this line I block d in terminal

USER> l +d

And execute the app.

The app stops on this line and lets me connect to it with Studio debugger.

To release lock I do in terminal

USER> l -d

And what are your debugging practices?

8
1 777
Question Smythe Smythee · Mar 30, 2022

Hi Team,

I am trying to call  Datetime in CUSTOM.Training.Functions class please refer the below line.

<assign value='##class(CUSTOM.Training.Functions).DateTime(source.{PIDgrpgrp().PIDgrp.PID:7.1})' property='target.{PID:7.1}' action='set' />

My Datetime method 

ClassMethod DateTime(DateTime As %Integer)
{
Set Year = msg.SetValueAt(,"PIDgrpgrp().PIDgrp.PID:7.1","set")
Q Year
}
 

But i am not able to get the value of date of birth into the Datetime method, Kindly help how to get data of date of birth value into the method.

Thanks in advance

3
0 370
Question Yone Moreno · Mar 28, 2022

Hello,

First of all thanks for your help

How would you recommend us to filter in the message viewer to find inside a property called "mensaje" of type "%XML.GlobalCharacterStream" which is inside a class called"Mensajes.Request.Laboratorio.peticionER7Request", the text "24642"?

We have tried:

It shows:

ERROR #5540: SQLCODE: Message -37: Unary function %EXTERNAL does not support sequence fields.

ORIGIN ELEMENT: %ZEN.Component.tablePane (resultsTable)

 

In addition we have tried to output the %XML.GlobalCharacterStream as a %String, using Read() function, and then trying to filter with

2
0 668
Question Ayman Yousef · Aug 2, 2017

Hello,


I need support for my case!!
I have 18 GB health care cache Database i face delay with filter and transmit data around 20 - 45 Minutes, I need solution to fixed my issue.

I did Rebuild indexes & Tune Table .

Thanks,

5
0 713
Question Kevin McGinn · Mar 21, 2022

I have the object query:

s Rset=##class(%ResultSet).%New("%SYSTEM.License.UserListAll")

I can loop through that query and it generates the report information that I need.

I have a Python process where I use the intersys import to connect to the Cache instance. But I have been unable to determine the correct syntax in Python for this query. Being that 'UserListAll' is a query I attempted to user:

res = <query>.prepare("select * from %SYSTEM.License_UserListAll")

That failed stating 'UserListAll' did not exist. Though this did not seem to be correct, I also attempted:

<query>.prepare_class("%SYSTEM.Li

2
0 390
Question Token Ibragimov · Mar 24, 2022

Hello!

I need to create strong random password including letters and integers. Does Cache Object Script has methods to generate password or I have to create my own method ?

6
0 708
Question Kevin McGinn · Mar 15, 2022

I have developed a process that pulls data elements from a cache instance using the tools provided with the "intersys.pythonbind3" import. This is a windows box. After validating the process, the next step is to install the process on a site (Windows) that does not have an installed version of cache and access the cache instance remotely. But, since intersys.pythonbind3 is part of the cache install, I am not sure what to do  to allow this process to function because of the missing import.

In production, I need this configuration as I do not want to install anything on the prod server but to

1
0 471
Question Alecsandru Onac · Mar 22, 2022

Hello,
First of all, I apologize if I got the topic wrong.
But I'm also looking for the 2007 cache version for Windows x86 / x64.
If anyone else has it, or can help me.
Thanks

2
0 322
Question Scott Roth · Mar 18, 2022

We are trying to track down the source of Orphaned messages and noticed that we are unable to query EnsLib.HL7.Message with any kind of WHERE or ORDER BY clauses in our SQL statement.

I know EnsLib.HL7.Message is a system table, but is there a way we can add additional Indexes to the table to make the query run better/faster without affecting the system?

4
0 814
Question Roderick Julius · Mar 16, 2022

Hello,

Our team is looking for a way to export all of our Cache SQL tables into Microsoft SQL Server.  I have only found a method to export one table at a time into an ASCII file.  We have over 170 tables so this would be very tedious and time consuming.  Is there a way to directly export from Cache to SQL Server.  Alternatively is it possible to export the entire database in a single shot or even multiple tables to text files?

Thanks!

2
0 992
Article Murray Oldfield · Jun 17, 2016 2m read

Myself and the other Technology Architects often have to explain to customers and vendors Caché IO requirements and the way that Caché applications will use storage systems. The following tables are useful when explaining typical Caché IO profile and requirements for a transactional database application with customers and vendors.  The original tables were created by Mark Bolinsky.

In future posts I will be discussing more about storage IO so am also posting these tables now as a reference for those articles. 



A list of other posts in this series is here
 


It is vital to have well set up storage

7
2 3160
Question Sylvain DUBOIS · Mar 9, 2022

Hello

I am running a script from a CMD command line using : C:\CacheSys\Bin\cterm.exe /console=cn_iptcp:127.0.0.1[23] myscript.SCR %CD%

The script should authorize something (or not) in the following lines of the GO.CMD

But How can i return an information from inside the script to the GO.CMD script ?

Any idea ?

2
0 345
Question Kevin McGinn · Mar 10, 2022

I am in the process of creating a python report writer that includes the information contained in "License Usage" page of the management portal. I think I have a handle on the local values contained in the report using the %SYSTEM.License class I have those defined using these methods:

  Current License Units Used -     ->  LUConsumed

  Maximum License Units Used  --> LUMaxConsumed

 License Units Enforced               --> KeyEnforcedUnits

License Units Authorized            --> KeyLicenseUnits

Current Connections                   --> InstanceConnections

Maximum Connections              -->

5
0 392
Question Muhammad Waseem · Jun 30, 2021

Hi,

I am running InterSystems iris 2021.1 from the container and I have version 2020.1.1 is installed locally. While running studio locally I am getting below error message:

"Version mismatch. Studio version 2020.1.1 unable to connect to server version 2021.1
Upgrade to a later version of the client to resolve this error"

Looking Forward

Thanks

4
0 549
Question Louie McLaughlin · Mar 10, 2022

I'm new to cache, come from an oracle and sql server background. In oracle and sql server I could write basically a stored procedure like script and pass it in as text to the command to execute. 

Example:

Below would be the _sqltext

DECLARE @Id INT;

select id into @Id from something;

 if @Id = 9 

BEGIN

do something

END

The _sqltext would work in sql server, what would be the equivalent for cache for it work?

I get a generic error when I try it with cache

using (var mdscmd = new CacheCommand(_sqlText, MyConnection) { CommandType = CommandType.Text }) {

}

Thanks

2
0 290
Question Kevin McGinn · Mar 9, 2022

I have a python script that is pulling the cache instance key expiration date ( KeyExpirationDate() ) which comes back as an integer. With the queryscript function - $ZDATE(73284) I can derive the actual expiration date. Is there a manner or method of creating an equivalent Python script that will convert the integer return by the KeyExpirationDate()  method into a date string?

1
1 337
Article David Loveluck · Aug 27, 2019 28m read

Since Caché 2017 the SQL engine has included new set of statistics. These record the number of times a query is executed and the time it takes to run.

This is a gold mine for anyone monitoring and trying to optimize the performance of an application that includes many SQL statements but it isn’t as easy to access the data as some people want.

This article and the associated sample code explains how to use this information and how to routinely extract a summary of daily statistics and keep a historic record of the SQL performance of your application.

What is recorded?

Every time an SQL statement

7
6 1721
Question Kevin McGinn · Mar 4, 2022

I am using the 

import intersys.pythonbind3 as pyb

conn     = pyb.connection()
conn.connect_now(...)
    
db      = pyb.database(conn)
qry        = pyb.query(db)
obj        = pyb.object(db)

for connection to the cache instance

However when I run this class method, The error message  indicates the method does not exist:

print(db.run_class_method("SYS.Database","GetStatus",[]))

intersys.pythonbind3.cache_exception: file=intersys/pythonbind3.c line=3034 err=-1000 message=<METHOD DOES NOT EXIST> 148 runMtdLow+22^%SYS.BINDSRV GetStatus,SYS.Database

I can not find the class reference docs for 2017.

3
0 297
Question Kevin McGinn · Mar 1, 2022

I am writing a Python tool to query our cache instances for various information. I have set up the connection without issue:

import intersys.pythonbind3 as pyb  

conn     = pyb.connection()
conn.connect_now(.....)
    
db      = pyb.database(conn)
qry     = pyb.query(db)
obj     = pyb.object(db)

I wanted to make the call:

execRes = qry.prepare_class("SYS.Database",'FreeSpace')

But fetching fails because of data mismatches ( as I understand from other posts) and my testing bears out this type of failure.

Instead I opted to attempt a query:

execRes = qry.prepare("select DatabaseName, Directory, MaxSize,

6
0 301
Question Arockia Raj B · Jun 9, 2017

What is the purpose to use Emergency Access Mode in Cache? How to establishes a Connection without performing authentication?

6
0 1912
Article Kurro Lopez · Mar 4, 2022 4m read

Time travel is like visiting Paris. You can't just read the guide, you have to throw yourself into it. Eat the food, use the wrong verbs, get double the charges, and end up kissing complete strangers.

The Doctor

We are now going to travel through time, that is, we are going to see future and past dates and how to calculate them in different formats. The TARDIS doesn't wait, take the controls and hold on tight.

Travel in TARDIS

5
0 624
Question ivo Ver Eecke · Aug 24, 2021

Hi,

I'm looking through some journal entries in the hope of finding the root source of an issue.
I was wondering if and how you can map a "ECP system id" to a server.

Any hints would be welcome

Best regards
Ivo

4
0 509