#Caché

30 Followers · 4.6K Posts

  

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

Documentation.

Article Henry Pereira · May 16, 2017 3m read

Hi Community,
This post is to introduce one of my first project in COS, I created when started to learn the language and until today I'm keeping improve it.

The CosFaker(here on Github) is a pure COS library for generating fake data.

cosFaker vs Populate Utils

So why use cosFaker if caché has the populate data utility?

Ok the populate utility has great things, like the SSN Generator for example, but what to do when you have a field with a long description of a product? How to check if that table will list the emails or if that calculated property will count the days of the last user interaction.

8
2 1177
Question Joan Cruz · Jul 2, 2021

As you know the $ZUTIL method is deprecated and I'd like to replace this calls for the corresponding ones.

In my case I'm looking to replase $ZUTIL(12)  by  ##class(%Library.File).NormalizeDirectory("")

But the response is not the same while $ZUTIL points to mgr folder NormalizeDirectory points to my Logic Databse Folder.

Is there a way to proper do this replacement?

Thanks a lot

2
0 434
Question Yone Moreno · Jun 29, 2021

Hello, first of all thanks for your time reading this question,

We would need some help, we would need to delete a %GlobalBinaryStream which is a variable called "pOutput" which is being sent from a REST Service to POSTMAN

Currently we have tried:

               set pOutput = ##class(%GlobalBinaryStream).%New()
                //set pOutput = msg
                while(msg.AtEnd=0){
                    do pOutput.Write(msg.Read())
                }
                do msg.Clear()
                Quit $$$OK

                do pOutput.
3
0 393
Question Dustin Knudsen · Jun 28, 2021

Currently have an SFTP server setup to deliver a CSV file to a company "Company XYZ"

Failed to move '\\dir-01\files\Company XYZ\Outbound\To Be Processed\Company XYZ data v1.csv' to Archive file '\\dir-01\files\Company XYZ\Outbound\Archive\Company_XYZ_v1.csv'

The Business Service File Spec : Company XYZ v1.csv

archive path same as listed above

Is it the File Spec that needs to be changed for this to prevent erroring out? 

2
0 267
Question Michael Lei · Jun 28, 2021

Why do I upload files faster with webservice than with csp?

The soap protocol used by webservice has to go through http protocol. csp directly handles http, no xml encapsulation, so it should be faster.

After testing, for a 1M file, csp is about 0.1s slower. After the gateway connection to 1972, there is a stall of about 0.1s, not sure why.

Is there any way to make the file upload speed of csp faster than webservice?

webservice用的soap协议也得走http呀。csp直接处理http,少了xml的封装,按理来说应该更快。

经测试,1M的文件,csp慢了0.1s左右。在网关连接到1972后,有0.1s左右的停滞,不知道原因。

有什么办法能够使csp的文件上传速度比webservice快吗?

1
0 479
Question Flávio Lúcio Naves Júnior · May 20, 2021

Hello everyone,

I created a Class with this 3 properties

Class TestDynamic Extends (%RegisteredObject, %XML.Adaptor)
{

Property number As %xsd.string;

Property exam As %xsd.string;

Property result As list Of %DynamicObject;

}

I'm adding objects to list normally

set objTest=##class(TestDynamic).%New()
set objDynamic={"field":"value"}
do objTest.result.Insert(objDynamic)

But when i use this method to convert to JSON

##class(%ZEN.Auxiliary.jsonProvider).
7
0 581
Question Dustin Knudsen · Jun 22, 2021

Currently we're using InterSystems Cache Studio Client 2017.2.2 Build 865

I'm currently going through training and one of the videos mentioned using Control+Space to bring up the content assist window.

It's in reference to Atelier IDE, but I'm curious if Studio also might have a tool similar to that?

2
0 191
Article John Murray · Mar 3, 2016 2m read

The purpose of this post is to raise the profile of a powerful mechanism that has long been available to us, and to open a discussion about ways in which it can be used or abused.

You can read more detail about the mechanism here. To summarize, your class definition can use the Projection keyword to reference one or more projection classes. A projection class can implement methods that get invoked at key points in the lifecycle of your class.

A projection class must extend %Projection.

18
1 1735
Question Nezla · Jun 24, 2021

Hi Guys,

for some reason the height in my tablepane are very big, how can I adjust the height in the rows in a tablepane?

Thanks

5
0 250
Question ROBSON SERPA DA ROSA · Jun 23, 2021

Hello community...
As there is a certain restriction of commands in Caché, and assuming that the base of most colleges ends up being MySQL, Oracle, SQL Server and others... And the last two with very simple IDEs to use and with the possibility to handle the operation in the database very well, which IDE (if there is an "official" or something like that) would be the best for me to start working more effectively with Caché?

3
0 546
InterSystems Official Pete Greskoff · Jun 16, 2021

June 16, 2021 - Advisory: Discontinued Technologies and Features

Note: A previous version of this advisory listed Caché Server Pages as a deprecated technology. Caché Server Pages is not deprecated and is fully supported.

From time to time, InterSystems discontinues development of a technology when newer and better options are available.  However, product support for these capabilities continues in the same way that it does for products beyond our Minimum Supported Version.

3
0 772
Question Johnny Wang · Jun 22, 2021

I am using .net to connect to the cache database via ODBC, OdbcConnection connection = new OdbcConnection(dbConnection); connection.Open(); This error is reported when the link is opened, how should this be solved? Thank you very much!

2
0 318
Question Sébastien Demoustiez · Sep 24, 2019

Hello, everyone,

I'm trying to find solutions to a problem that's becoming quite boring.
On only one namespace, the sudio is very slow.
The studio freezes completely for 5-10 seconds when I save or compile a class. Sometimes it also freezes for no apparent reason at a random time...
It stops when I change namespace...

Do you have any idea what that could be?

Thank you in advance

15
0 623
Announcement Nikita Savchenko · Jan 19, 2017

Greetings, InterSystems community!

I am pleased to announce that the web terminal project, Caché WebTerminal version 4 gets its release! After long period of enhancing this web application from 2013, it came to the version 4, which features major stability and security improvements, intelligent autocomplete and syntax highlighting, convenient SQL mode and a lot of other useful features.

The goal of this article is to spread the knowledge about this project over the InterSystems community.

34
3 3819
Question Evgenii Ermolaev · Jun 14, 2021

I am getting the following error when trying to fect data from DeepSee:

"Error":"ERROR #5002: Cache error: <PROTECT>%Construct+3^%DeepSee.ResultSet.1 ^DeepSee.Cache.LocalResults(\"session\"),e:\\hs-db\\tfoms\\"

However, I cannot find the place this error points me to.

Specifically, it says 'Label %Construct + 3 lines, in the %DeepSee.ResultSet.1', but there does not seem to be such a place. I could only find the %DeepSee.ResultSet class and it does not have a lable named %Construct.

4
0 477
Question Roger Taylor · Jun 8, 2021

Reference: sample LDAP code routine LDAP.mac

Some IF statements reference macro $$$WindowsCacheClient as a boolean flag to mark if the client calling the LDAP server is running Windows. Other IF statements reference $$$ISWINDOWS. Are they not the same thing? That is, does the routine need $$$WindowsCacheClient at all?

Examples:

#define WindowsCacheClient 1

 if $$$WindowsCacheClient,$$$WindowsLDAPServer {
Status=##Class(%SYS.LDAP).Binds(LD,"",$lb(Username,Domain,Password),$$$LDAPAUTHNEGOTIATE)
Status'=$$$LDAPSUCCESS {
Status=Status_",ldap_Binds(AdminDN) - "_##Class(%SYS.LDAP).

2
0 281
Announcement Laurel James (GJS) · Jun 15, 2021

gj :: locate was the entry from George James Software for the Developer Tools competition back in April 2021. When an ObjectScript error is reported, gj :: locate takes the .int line location and navigates you directly to the line in the source file where the error originated. Over the past few months we've found it a very useful tool when it comes to debugging, especially when used alongside the Serenji debugger in Visual Studio Code.

Our first update, version 1.1.0, now includes support for multi-root workspaces. This enables gj :: locate to be used with every workspace folder. If your VS Code workspace has more than one root level folder, connecting to different namespaces or perhaps different servers, then gj :: locate will determine which workspace folder is current and locate the source code in that folder. If your workspace doesn't have any files open then gj :: locate will prompt you to select a folder from a pick-list.

This will particularly benefit VS Code power users who have workspaces with simultaneous connections to multiple namespaces, on multiple different IRIS and Caché servers.

If you would like to try it out then you can download it from the VS Code marketplace. Or if you’re already a user, then gj :: locate will automatically update. Let us know how you're getting on with it!

0
1 239
Article Erik Hemdal · Oct 31, 2016 8m read

Here are a few examples of conversions and operations you might need, along with links to documentation where you can learn more.

At the time I wrote this, Eastern Daylight Time was in effect for my Caché system.

How Caché keeps the time and date

Caché has a simple time format, with a longer range of recognized dates compared to some other technologies.

The current time is maintained in a special variable $HOROLOG ($H):

USER>WRITE $H

64146,54027

USER>

The first integer is the count of days since December 31, 1840. The second integer is the count of seconds since midnight of the current day.

4
1 15106
Question Augusto Estefan · Jun 9, 2021

Hi,

I have a DR member and in this cache server the database "cachetemp" start to getting bigger without any reason (50GB that was all the free disk space we have)

In the members of the mirrors the cachetemp its ok and the size is 31MB.

I restarted the server because I read that the cachetemp database purge when restarting, but didnt happend.

Any recommendation to clean this database? can I just deleate the CACHE.DAT from this database?

Thanks!!!

4
0 1123
Job Helberth Soares · Jun 12, 2021

Hi everyone, 

I am talking from Brazil and we have one very important customer that requested our support to find a consultant, deeply specialized in Cache that could work with us attending this customer. It has a tons of data and its core application is based on Cache.

If you are interested send me an email with the subject title - Cache consultant opportunity - and we will make contact with you. The main request is how strong are your skills in cache and it would be considered a differentiator if you are a portuguese speaker.

Regards - Helberth Cavalcante.

2
0 404
Question Stefan Cronje · Jun 10, 2021

Hi,

I have the requirement to dump large result sets into files. I am currently using %SQL.Statement and the result set created by it.

The DisplayFormatted is used to write a CSV. The query I used to test does not contain any filters, it is just a select * from a table with 16 million rows.
The file created is 2GB in size. The issue I have is that it takes 8 hours to create this file.

I have seen in the past that file streams write fast at the start. As the file continues to grow, the process' memory usage increases until it reaches the max allowed.

3
0 345
Question Jimmy Christian · Jun 3, 2021

Hello,

I need to create a dialogbox  on my zenpage to confirm a Delete operation. 

I tried using below code on in a my client side method but its creating a blank dialog box.

zenLaunchPopupWindow('%ZEN.Dialog.confirmationDialog.cls','confirmationDialog','resizable,width=380,height=180');

Is there a way i can create a Dialog box with text "Do you want to delete" and two buttons "Yes" and "No" and store the response in the calling client/server method.

Thanks,

Jimmy Christian.

2
0 204
Announcement Laurel James (GJS) · Jun 10, 2021

We’ve published an update to the Serenji debug extension for Visual Studio Code, making it ready for the Workplace Trust feature in VS Code 1.57.

This allows the Serenji ObjectScript editor to work without restrictions across all workspaces and, by bringing it in line with the VS Code update, only allows the debugging feature to be used in trusted workspaces.

0
1 179
Question Yone Moreno · Jun 8, 2021

Hello, first of all thanks for your time reading this question and thank you for your replies

We would need some help

We are trying to create a function to generate a random number with always 4 digits

We have already read the following topics:

https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…

https://community.intersystems.com/post/how-generate-random-string-fixe…

https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KE…

How would you recommend to write a function to handle this use case?

5
1 819