#Caché

30 Followers · 4.6K Posts

  

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

Documentation.

Question Uri Shmueli · Nov 10, 2016

Hi all,

We've found that in most cases when we open a new CSP session the CGI varaiable %CGIEVAR("HTTP_COOKIE") contains the client name.

It looks like that : "state=SYSADM%3A0; Username=Urish; CSPWSERVERID=Cache for Windows (x86-64) 2013.1.1 (Build 501_1_13062) Sun Aug 11..."
In some other cases this CGI only contains  $zv - like "CSPWSERVERID=Cache for Windows (x86-64) 2013.1.1 (Build 501_1_13062) Sun Aug 11 2013 23:20:33 EDT"

We are searching for a way to get the username (we need to stop using activex controls, like WScript.Network-->

2
0 495
Article Murray Oldfield · Nov 12, 2016 6m read

Index

This is a list of all the posts in the Data Platforms’ capacity planning and performance series in order. Also a general list of my other posts. I will update as new posts in the series are added.


You will notice that I wrote some posts before IRIS was released and refer to Caché. I will revisit the posts over time, but in the meantime, Generally, the advice for configuration is the same for Caché and IRIS. Some command names may have changed; the most obvious example is that anywhere you see the ^pButtons command, you can replace it with ^SystemPerformance.

0
7 6682
Question Michael Loutraris · Nov 10, 2016

We are trying to understand how websocket connections from a javascript client may timeout in cache. Does anyone know if and of the session timeout or any other timeouts apply to any synchronous websocket connections? I have not been able to prove that they do timeout at all.

5
0 748
Article Stuart Salzer · Nov 10, 2016 17m read

This article explains the basics of OpenVMS file structures, from a Caché prospective, and what you need to know to read and write any OpenVMS file with Caché, even the files with difficult file structures.

On UNIX and Windows all files are just a stream of octets (eight-bit bytes). Assigning meaning to those octets is done entirely by convention. Those conventions are rather simple, even if slightly different on UNIX and Windows.

0
0 2023
Question sansa stark · Nov 10, 2016

Hi All,

We are accessing the InterSystems`s cache database via UNIX ODBC and displaying the data in PHP website . Recently we have upgraded the PHP version to 5.6.  We are getting the nondisplayable characters (�) for only strings. But the numbers and date fields are displaying correctly. 

While querying the database via ISQL everything working fine (No Special characters).

I have looked around the internet and found the PHP 5.6 changed the default character to UTF-8.

For this issue anything, we can do from cache side.

cache version :

Cache for Windows (x86-32) 2016.

3
0 1553
Question sansa stark · Oct 3, 2016

Hi All,

We are accessing the InterSystems`s cache database via UNIX ODBC and displaying the data in PHP website . Recently we have upgraded the PHP version to 5.6.  We are getting the nondisplayable characters (�) for only strings. But the numbers and date fields are displaying correctly. 

While querying the database via ISQL everything working fine (No Special characters).

I have looked around the internet and found the PHP 5.6 changed the default character to UTF-8.

For this issue anything, we can do from cache side.

Thanks in advance.

2
0 657
Question GUILHERME CRUZ DA CUNHA · Nov 10, 2016

Hello, I would like to know if CACHE has any limitations on uploading files.
Why am I asking this, why am I going through a problem here.
What happens is that when uploading files or images that are larger than 2.7 MB CACHE is limiting the size to 2.7 MB, any file larger than that is saved corrupted.
Already at the time of uploading the file or image, CACHE is limiting the size of the file to 2.6 MB.

3
0 1137
Article Mario Sanchez Macias · Nov 10, 2016 1m read

I tried to make atelier look more like XCODE with this simple trick or tip: change the default font to SF Mono and size 14.

To do it I did:

1) Install SF Mono font in the system which is the default font for XCODE and needs to be installed in order to use it.

You can find it in: /Applications/Utilities/Terminal.app/Contents/Resources/Fonts

Double Click SFMono-Regular.otf file and install it. You will get a warning of "serious problems" but it will work all right.

2) Then, in Atelier, go to Preferences / General / Appearance / Color and Fonts The choose Text Font (In Basics category) and Edit.

0
0 539
Question Archunan K · Nov 8, 2016

Hi Everyone,

         I have frequently received this below error message in my ensemble 2009 Cconsole log.

         " 11/08-13:05:06:114 (9784) 2 Skipping SET due to compare and swap failed on ^["^^e:\test\data\"]Debug("CalcTotal1") for records in e:\test\data\ addr=39745548 "

        Please explain this, am very much trouble with this alert. And also want to know it will cause any system hangsup ?

please response quickly. Thanks

Archunan K.

5
0 649
Question William Proctor · Nov 9, 2016

Thanks for all replies in advance.  In monitoring our audit log we are getting the error below.  We have 4 different servers running CACHE  2014.1.1 and this is happening on all 4 of them.  I have not been able to find what process is trying to logon but it is happening every 30 minutes.  We have no user processes that are running so this has to be a CACHE process.  Does anyone have an Ideal what could be running to cause this?  What kind of trace can I run to determine what process is running it?

2 2016-11-09 15:17:15.
1
0 989
Question Mohan Sujay · Nov 9, 2016

Hi,

How to post and get data using php. I'm using a php external url. In the body in parsing the request as xml and when i execute this using fiddler it response the result as xml but when i consume it in classmethod it fails. I don't have a wsdl file how can i work it out?

2
0 531
Article Stuart Salzer · Nov 8, 2016 38m read

What is a core file? and When are they use­ful?

The in­for­ma­tion in this doc­u­ment is cur­rent as ver­sions of InterSystems prod­ucts re­leased through 2024-06-06. This up­date date cov­ers er­rors in that dis­covered up to 2024-08-12, but not changes present in new ver­sions of InterSystems prod­ucts.

Nevertheless, the de­tails for ex­ist­ing prod­ucts are not sub­ject to fre­quent change.

The WRC can supply you with a .PDF ver­sion of this article suitable for printing on either US 8½″ × 11″ or A4 210 mm × 297 mm paper.

1
2 34917
Article Cindy Olsen · Nov 8, 2016 7m read

In this post I would like to talk about the syslog table.  I will cover what it is, how you look at it, what the entries really are, and why it may be important to you.  The syslog table can contain important diagnostic information.  If your system is having any problems, it is important to understand how to look at this table and what information is contained there.

1
2 2995
Question Mohan Sujay · Nov 7, 2016

hi,

I have created a asp web service and it is hosted in our internal server. How can i consume that web service in cache class method? It is a soap web service with xml input and xml output. It works fine in all the browser.

3
0 569
Article Jorma Sinnamo · Nov 8, 2016 4m read

This is the first article in a series discussing how to regain disk space from Caché databases at the operating system level. This introductory article discusses Caché database growth and gives an overview of various methods you can use to return unused disk space that is allocated to database files back to the file system. But before we talk about returning space to the file system, let’s first review how does it get allocated in the first place.

Caché databases always have the name CACHE.

0
0 2052
Question Rajath Muthappa · Nov 8, 2016

Hi,

I am using the &sql () tag to retrieve the value from the Cache DB.

below is the piece of code i am using:

script language="cache" method="retrieveDetail" arguments="pVariable" returntype="%String" &sql( select columnA, into :tempVariable1 from TABLE where COLUMNC = pVariable

quit tempVariable1

i have to return the ColumnA value back to the calling procedure.

can i know how it can be done ? since i am getting an javascript error.

4
0 518
Article Matthew Giesmann · Nov 8, 2016 4m read

Beginning in Caché 2013.1, InterSystems introduced Outlier Selectivity to improve query plan selection involving fields with one atypical value.

In this article, I hope to use an example 'Projects' table to demonstrate what Outlier Selectivity is, how it helps SQL performance and a few considerations for writing queries.

Selectivity

First, let's take a quick look at Selectivity. Selectivity is meta information about the values in one column in a table.

1
0 825
Question Eduard Lebedyuk · Nov 8, 2016

I have a following ZEN report:

Class ZENApp.Report Extends %ZEN.Report.reportPage
{

/// Class name of application this report belongs to.
Parameter APPLICATION = "ZENApp.SampleApp";

/// Specifies the default display mode used for this report if
/// the URL parameter, <var>$MODE</var>, is not present.
Parameter DEFAULTMODE As STRING  = "xlsx";

/// This XML defines the logical contents of this report.
XData ReportDefinition [ XMLNamespace = "http://www.intersystems.com/zen/report/definition" ]
{
<report xmlns="http://www.intersystems.com/zen/report/definition"
 name="MyReport"
 sql="SELECT TOP 10 Name,DOB,Age FROM Sample.Person"
 runtimeMode="0">
  <group name="Person">
   <attribute name="name" field="Name"/>
   <attribute name="dob" field="Dob"
    expression="..ToExcelDate(%val)"/>
   <attribute name="age" field="Age"/>
  </group>
</report>
}

/// This XML defines the display for this report.
/// This is used to generate the XSLT stylesheets for both HTML and XSL-FO.
XData ReportDisplay [ XMLNamespace = "http://www.intersystems.com/zen/report/display" ]
{
<report xmlns="http://www.intersystems.com/zen/report/display"
 name="MyReport">
  <body>
   <table group="Person" excelSheetName="Persons"
    excelGroupName="Person" oldSummary="false">
    <item field="@name" excelName="$$$Name" />
    <item field="@dob" isExcelDate="true"
     excelName="$$$Date of Birth" />
    <item field="@age" isExcelNumber="true"
     excelName="$$$Age">
    </item>
   </table>
  </body>
</report>
}

}
2
0 444
Question Ray Hitchins · Nov 7, 2016

Hi,

I have a problem which i think has a simple solution but which i and others haven't yet cracked. I want to display text output to a text box in monospaced font. At the moment the style sheet is shown below, I have tried various other options such as specifying a specific font such as Courier New.  None of the browsers I have tried (Safari, Firefox on OSX, IE) display as monospace, although the last 2 come close. I wonder whether I need a <pre> tag, but I can't see how to do that in Zen.

Suggestions?

1
0 360
Article Peter Steiwer · Nov 7, 2016 2m read

Whether you are accessing DeepSee for the first time ever or you are configuring DeepSee on a new instance, there are two common issues that are encountered after clicking on the “DeepSee” option in the System Management Portal.

Issue #1: Architect/Analyzer is grayed out!

Issue #2: DeepSee must be enabled before use.

Issue #1: Architect/Analyzer is grayed out!

There are two common causes for this problem.

Cause 1 - License

Cause 2 - Security

The first common cause is that the license does not have these DeepSee options enabled.

1
0 1681
Question Nikita Savchenko · Nov 5, 2016

Hello!

The question I have today is the next. Suppose I have this simple class describing the REST application:

Class Playground.Rest Extends %CSP.REST
{
XData UrlMap
{
<Routes>
   <Route Url="/index" Method="GET" Call="Index"/>
   <Route Url="/logout" Method="GET" Call="Logout"/>
</Routes>
}
ClassMethod Index() As %Status
{
write "You're logged in as " _ $Username
quit $$$OK
}
ClassMethod Logout() As %Status
{
write "Bye, " _ $Username _ "!"
do %session.
8
0 1509
Question Nikita Savchenko · Nov 2, 2016

Hello community!

I am trying to set up Startup Tag^Routine field for the UnknownUser as follows:

And my simple routine is the next:

Calling do ZitRoStart^ZitRo in the terminal prints "Hello", but when opening Caché Terminal it results with the next:

And the terminal closes.

// Cache for Windows (x86-64) 2016.2 (Build 636U) Wed Apr 13 2016 20:58:35 EDT

What am I doing wrong in setup?

Thank you very much!

6
0 870
Question Laura Cavanaugh · Nov 4, 2016

Here's an easy one for you; before I spend another hour looking for the answer, how do you convert %ArrayOfDataTypes to an array (that could, say, fit into the %session.Data array, or maybe just some array named info()), and of course back again?

NS>s aodt=##class(%ArrayOfDataTypes).%New()
 
NS>w aodt.SetAt("lcavanaugh","username")
1
NS>w aodt.SetAt("organization","coolcompany")
1
NS>w ##class(%ArrayOfDataTypes).BuildValueArray(aodt,.array)
 
<LIST>zBuildValueArray+1^%Library.ArrayOfDataTypes.1

aodt must be serialzed.  What?

NS>zw array

NS>

3
0 1208
Article Isaac Aaron · Jun 21, 2016 1m read

Hello

I have noticed that Cache (2016.1 at the time of writing) doesn't come with a systemd startup script for RHEL7.

Here is a small example script I have built.

[Unit]
Description=Intersystems Cache

[Service]
Type=forking
ExecStart=/bin/bash -c '/usr/cachesys/cstart 2>&1 | logger -t cache_start'
ExecStop=/bin/bash -c '/usr/cachesys/cstop quietly 2>&1 | logger -t cache_stop'
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

The file should be placed as /usr/lib/systemd/system/cache.

8
0 2345
Question sansa stark · Nov 4, 2016

Hi All, when I ran the Command to make a folder in particular directory its not working in terminal,but when i run the same command in studio output block it create the folder. Used command: S cmd="mkdir E:\DIRECTORY" O cmd:"QR":10 Suggest Please.

4
0 666
Question Jenna Makin · Oct 5, 2016

Hi-

I have created a class that extends %Persistent and %Populate and have set the various POPSPEC attributes of my properties to control how the  properties are populated.  However, when I compile the class and try to run the Populate() method it tells me the method isnt defined.

Here is the class definition:

Class My.PrimaryClass Extends (%Populate, %Persistent)

{

Property Name As %String(POPSPEC = "NAME");

Property Title As %String(POPSPEC = "TITLE");

Property City As %String(POPSPEC = "CITY");

Property State As %String(POPSPEC = "STATE");

Property Zip As %String(POPSPEC = "ZIP");

Property Employment As VA.SecondaryClass;

}
2
0 1112