#Caché

30 Followers · 4.6K Posts

  

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

Documentation.

Question Simon Bijl · Jan 4, 2021

Hello to all,

I'm trying to post some form data from a form I made in React to the backend of cache fetching a REST-service.
Receiving and processing a JSON-object is no problem but how can I handle Form Data?

The frontend is sending the form as form data and also includes one or more files.

What is the easiest way to process this data in my REST.Broker- class?

Best regards,

Simon

6
0 653
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 311
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 493
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 1660
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 283
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 708
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 2648
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 1623
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 721
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 851
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 903
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 437
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 1011
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 863
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 436
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 351
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 374
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 433
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 237
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 2783