#Caché

30 Followers · 4.6K Posts

  

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

Documentation.

Question ilya andreyev · Dec 21, 2020


 We are using Native .NET API from IRISProviderCore21 package, inside .NET Core app, and having issue when trying to call function that takes instance of the class as parameter. The server is IRIS 2020.1.0.217.1

 In a nutshell, the code looks like this:

            // Create instance of the parameter class, proxy object

            var paramObject = iris.ClassMethodObject("MyParameterClass", "%New") as IRISObject;

           paramObject.Set("property", "value");

           var irisResult = iris.

2
0 310
Question Purushothaman T · Dec 30, 2020

We have a custom FTP Service , and custom FTP adapter . Customization is just to find a duplicate file and for giving specific dynamic file spec pattern.
While running and polling for files, we are getting this error. Could you please help ? What's the issue and how to resolve it ?
ERROR <Ens>ErrFTPListFailed: FTP: Failed List for <FileName> (msg='Cache error in 'readResponse': <READ>zreadResponse+4^%Net.FtpSession.1',code=426)    

1
0 491
Question Michael Davidovich · Jan 3, 2020

I searched to see if there was a previous question on this, but I didn't quite find anything.  Please link if you think this has been answered before (I have a feeling it has): what are the barriers to source control using Cache 2018 and Studio?  

I'm trying to figure out how to create a local repository but I can't access the folder structure in the USER namespace for my local instance.  If I could, it would be as simple as navigating there in Git Bash and doing a 'git init' and then I can push changes to a remote repo for control.

12
0 1649
Question Archunan K · Jan 3, 2021

Hi All,

In earlier cache version, I can see full data values in SQL management portal.

But IRIS restricted the view only to 100 chars.

"If the data in a field is longer than 100 characters, the first 100 characters of the data are displayed followed by an ellipsis (...) indicating additional data." - From Documentation.

Is there a way to change this behavior ? I would like to see all the values in the particular SQL field.

Thanks in advance,

Archunan K

2
0 282
Question Norman W. Freeman · Dec 24, 2020

I have implemented a web service that inherit from %SOAP.WebService

It exposes classes with string properties : 

Class Employee Extends (%RegisteredObject, %XML.Adaptor) [ ProcedureBlock ]
{

Parameter XMLNAME = "Employee";
Parameter XMLSEQUENCE = 1;

Property FirstName As %String(MAXLEN = "", XMLNAME = "FirstName") [ Required ];
Property LastName As %String(MAXLEN = "", XMLNAME = "LastName") [ Required ];
...
1
0 705
Article Robert Cemper · Oct 9, 2018 3m read

The question has come up several times and I saw mixed answers and no quick example

My personal preference is using CPIPE device as you get back exactly the output you will get at the command line interface of your OS .
The tricky thing is to stop reading in time.
The example just displays what you normally see in your console.
it becomes useful if you look for things that you can't get from any $system.whatever()

e.g.
- your servers IP address or addresses depending on your configuration.

5
4 2645
Question Keith Davis · May 14, 2019

I am trying to create an ODBC class that includes all of these as records, but I don't see how I can since the first record has 3 subscripts, the rest have 4 subscripts:

Here is my current storage definition:

<Storage name="Test">
<ExtentSize>100000</ExtentSize>
<SequenceNumber>25</SequenceNumber>
<SQLMap name="Test">
<Data name="ModificationDate">
<RetrievalCodeset {ModificationDate}={L4}</RetrievalCode>
</Data>
<Data name="Operator">
<Delimiter>":","|"</Delimiter>
<Piece>36,2</Piece>
</Data>
<Data name="CreationDate">
<Delimiter>":",","</Delimiter>
<Piece>24,1</Piece>
</Data>
<Data name="CreationTime">
<

12
0 979
Question David Reche · Feb 16, 2016

Hello,

I am trying to use %ZEN.proxyObject to send out in JSON format so I do:

    set tProxyRequest = ##class(%ZEN.proxyObject).%New()
    set tProxyRequest.notanumber = "28001"
    set tProxyRequest.aboolean = "true"
    
    set tBody = ##class(%GlobalCharacterStream).%New()
    do ##class(Ens.Util.JSON).ObjectToJSONStream(tProxyRequest,.tBody,"aelotwu")
    w tBody.Read()

and I get:

{
        "aboolean":"true",
        "notanumber":28001
}

But I want this:

{
        "aboolean":true,
        "notanumber":"28001"
}

Help please !

10
0 1621
Question Ahmad Bukhtiar · Nov 22, 2020

If I have table of 60 fields is there a way to add values to columns dynamically ?

Fields are like this Field1, Field2, Field3...Field60 and I am reading data from flat files. I tried below code but it didn’t work

For i=2:1:$LENGTH(line) {

set SourceTable.Field_i = $PIECE(line, "|", i)
 

3
0 715
Question Anna Golitsyna · Dec 11, 2020

I am trying to send email via smtp.gmail.com.

  • I am using an object of %Net.SMTP to do so.
  • I am giving it an object of class %Net.Authenticator to provide credentials to the gmail server.
  • I am not encoding the user name or password.
  • I have set the UseSTARTTLS property to 1
  • I have set the SSLConfiguration property to “API”
  • Since I am using TLS, I have set the port to be 587
  • I am using an object of %Net.MailMessage for the message
  • I am passing it to the Send method of the %Net.SMTP object to send the msg.
  • I get the following error: ERROR #6033: Error response to SMTP MAIL FROM: 530 5.7.
3
0 850
Question Vitaly Furman · Dec 14, 2020

Hello,

We are working with a vendor who only accepts JSON as payload. We are currently still on Cache/HealthShare, not IRIS. Since we have to send Continuity of Care Documents, this raises issues with Long Strings (some CCDs can be quite large and in addition to that, they have to be b64-encoded which increases their size even more).

My question is: if we were to go on IRIS and use %JSON.Adapter, storing the encoded Stream in an object's Stream property, would calling %JSONExport() on this object produce the desired JSON? Or would we have to call %JSONExportToStream()?

3
0 899
Question MARK PONGONIS · Dec 15, 2020

Anyone know if it's possible using cache objectscript (or something else maybe) to reference an object property using a variable? For example:

s obj={}

s obj.prop1="hello"

s var="prop1"

w obj.var    <== which would result in a reference to obj.prop1 and write out "hello"

7
0 435
Job Romina Sarcletti · Dec 11, 2020

A permanent job opportunity has arisen for a Caché/Ensemble /Iris developer with at least 3 years experience. My client is a specialist resource provisioner of developers for high profile clients in the finance,  healthcare, retail, distribution and credit business that are mainly based in central London. My client is looking for a highly-motivated individual who thrives in an environment where problems are open-ended.

0
0 515
Question Scott Roth · Dec 9, 2020

I am fairly new to using VSCode. I have used VSCode to create some files on our Test Server, now I need to move them to Production.

Looking through the VSCode extension documentation, maybe I missed it but how to I migrate code from one workspace to another. In Studio I was use to exporting the code into an XML and just being able to import it on the Production server version of Studio.

Thanks

Scott

9
0 996
Question Sreeram Makam · Oct 8, 2019

Hi All, I am a Data Architect and am trying a method of deploying alter statements onto Cache DB.

My Data Modeling tool generates alters as this.. So question is if the Cache has a way to rename table? If so what is it?

ALTER TABLE <SchemaName>.GROUP_TYPE_NODES RENAME TO GROUP_TYPE_10082019140110000
;

This is giving error.

SQL Error [25] [37000]: [SQLCODE: <-25>:<Input encountered after end of query>]
[Location: <Prepare>]
[%msg: < Input (IDENTIFIER) encountered after end of query^ALTER TABLE xxx.GROUP_TYPE_NODES RENAME>]
 

4
0 855
Question Douglas Ruisaard · Dec 8, 2020

I like to be able to call an "autohotkey" executable message box from within a running Cache routine executing as a jobbed routine. The autohotkey executable displays a small pop-up window with a message and an "OK" button .. and will time out in 10 seconds if the user does not press the OK button.

Although $ZF(-1,cmd) executes (where "cmd" contains a simple batch command e.g. @c:\autohotkey\warning.

5
0 267
Question Vikram Annadurai · Dec 20, 2019

Hello All, 

I connected the Cache from Power BI using ODBC connection. And I can able to view the tables but I could't able to view the data records. getting some error when I shoot on the table name. I couldn't trace what I'm missing. Please help me.

Error Message: "Value cannot be null. Parameter name: exceptionType"

Thanks,

Vikram

2
0 435
Question Florian Hansmann · Dec 4, 2020

Hey Intersystems Community-Member,

Following Issue: When I update a SQL table like (update OnlineV3Admin.ParameterApp set popuptext = '' where ID = '1') and then read it for my Json WebService there is a /"x00" in my Json.

What is the best option to disable that? I need here  a empty String and not /x00.

Any ideas?

Best regards,

Florian Hansmann

1
0 344
Question Devin Gilmore · Dec 3, 2020

Hello,

I need to create a util function that loops thru every character in the data, execute a $ASCII() against it. If it falls outside the realm of extended ASCII we toss it.

the function should receive a string, execute a for...loop across it's length and use $ASCII to evaluate the character. Also the function should return an output argument that indicates if the string is UTF8 valid or not.

could anyone help me with this?

1
0 370
Question Patrik Spisak · Dec 2, 2020

Hi guys,

I have this method to create object from XML

ClassMethod XMLNew(doc As %XML.Document, node As %Integer, contOref As %RegisteredObject = "") As TruLaser.ProductionPackage
{
    Set id=""     Set tmpnode=doc.GetNode(node)
    Do tmpnode.MoveToFirstChild()
    Do {
        //compare data node to the string given by the NAMEOFEXPORTID parameter
        //which indicates the XMLNAME of the ids for this object
        If tmpnode.NodeData=..#NAMEOFEXPORTID {
            //get the text from this node; this corresponds to an id in the database
            Do tmpnode.GetText(.id)}
        While tmpnode

1
0 429
InterSystems Official Pete Greskoff · Dec 3, 2020

InterSystems has corrected a defect that may cause Windows Telnet processes that are secured using SSL/TLS to hang indefinitely; this may then cause an instance to become unresponsive. This defect is present only on Windows platforms.

This defect affects:

  • Caché and Ensemble 2018.1.4
  • HealthShare Health Connect (HSAP) 15.032 built on C/E 2018.1.4
  • InterSystems IRIS and InterSystems IRIS for Health 2020.3

The problems caused by this defect can occur only when the instance is running Windows Telnet.

0
0 236
Question Stephen Carter · Nov 30, 2020

I'm running Windows 10 x64 Pro 20H2 with Intersystems Cache ODBC driver v2018.01.00.184. I've setup a System DSN using the 64-bit of ODBC Administrator.

I've been getting inconsistent results using my regular application (Microsoft Power BI) which I use through ODBC to query my hosted TrakCare T2017 instance.

Using Microsoft ODBC Test Tool (part of MDAC 2.8 SDK) I can verify I get the same errors as in Power BI. They seem to be ODBC driver related but I can't pin it down.

ODBC Test Tool GUI shows:

Full Connect(Default)

    Successfully connected to DSN 'Test DB'.

1
0 2779
Question Paras Batheja · Oct 13, 2020

Hi team

We are migrating the Code set of VMS to Unix. 
In this process we are also taking care of all I/O operations of file. 
In VMS, whenever we create a file, it generates a Version # associated with the file. Best part is we have a common library which we use to OPEN/USE/CLOSE/DELETE/RENAME/COPY the file.
Now, when we talk about VMS on cache, if we two processes creates a file "ABC.TXT", for 1st process it will create the version #1 and for second it will create #2.

4
0 577