I am trying out Atelier. I have installed it and managed to get it to connect to a cache instance to test it. I have created a local project and I am trying to copy the server files to it using the "Copy to Project" item on the popup menus. I can copy both classes and routines to the project without issue, but when I try to copy the CSP files, I get the following message:

com.intersystems.atelier.utils.CheckedExceptionWrapper: Input length = 1

0 3
0 231
Question
· Feb 28, 2016
Mocking tools for Unit Testing

Hello everyone!

Does anyone know of a library that can be used to create Mock objects for Objectscript classes?

Right now, my team has been building mock objects by hand to help circumvent dependencies when writing and executing unit tests, but I always wondered if someone had ever created a Mock library like Mockito to help quicken the process.

Thanks!

3 4
0 922
Question
· Oct 2, 2018
Terminal Access Denied

HI,

I have been using evaluation version of Cache 2017.2, it was working fine and I was using Cache studio, SMP & Cache Terminal/console till yesterday.

Today, cache was in shutdown status, then I restarted. But, Cache terminal is not working and showing as Access Denied while otherthings like studio and SMP is working as expected. I checked all security level services on SMP, all are fine and enabled.

Can anyone help me to diagnose the problem and make it working.

Thanks.

0 9
0 1.7K

EDIT: This article has been updated with up-to-date information about the Port project, which now includes a tutorial for basic usage.

The Port project is something that I've introduced more than two years ago but I hadn't enough room to elaborate a tutorial on how to use it till now.


First, the motivation:

5 5
2 655

The .NET Core Identity model has an IPasswordHasher<> interface for for

  • Hashing a password so that it can be stored in a database
  • Verifying a provided plain-text password matches a previously stored hash.

I am getting invalid password errors during the login process when the .NET Core Identity model computes a hash from a plain text input and compares it to a password hash value I've returned from Caché. The default hashing algorithm is PBKDF2 with HMAC-SHA256, 128-bit salt, 256-bit subkey, and 10,000 iterations (detailed article on .NET Core Identity PasswordHasher). The algorithm Caché uses is probably different which may be why I am getting errors.

0 6
1 2.3K

Our team is reworking an application to use REST services that use the same database as our current ZEN application. One of the new REST endpoints uses a query that ran very slowly when first implemented. After some analysis, we found that an index on one of the fields in the table greatly improved performance (a query that took 35 seconds was now taking a fraction of a second).

3 4
0 424
Question
· Aug 15, 2019
Error on Trakcare Report

Hi,

I am trying to create a new report on Trakcare. I created a class file and corresponding crystal report . It works fine and data is populating when I try to run on crystal environment. But when I make a setup on Trakcare and click on print option, I am getting an error on print history " VB error in tkCrystalJob] Error number[-2147417848] Method '~' of object '~' failed [at line 421]". If I click on print preview option its going to empty browser. Inorder to setup new report, already made set up on report manager and menu manager.

0 1
0 416

I'm a DBA and support Caché databases on AIX. I coded shell scripts for monitoring journaling status, databases size, license end date.

We recently got a new instance of Caché on Windows. I'm just curious to know whether anyone coded database monitoring scripts on Windows using PowerShell or any other scripting language.

If yes, please share the details.

Thanks & Regards,

Bharath Nunepalli.

0 3
0 461
Question
· Aug 14, 2019
upload file to FTP

Hi

I am trying to upload a file to a ftp site using following code.
Problem is file is getting upload but there is no data. Can you plz advise where I am getting lost.
Also my files are with big data, 2+ GB, as far as know this ftp upload will not effect on my cache.dat size. Plz correct if my understanding is not correct.

0 3
0 562

Hi Developers!

InterSystems IRIS stores everything in globals and if we use ObjectScript classes to persist data class documents globals it uses in storage. But if you use globals for calculations, temporary storages, for special indexes or for some other purposes - how do you document it?

Possible options which come to my mind:

1. Macro

#define Array ^MyGlobal

usage:

s $$$Array(1)=1

2. Class parameter

Parameter Array ="^MyGlobal";

Usage:

0 3
0 326

Object Synchronization is a feature that has been around for a while, since Caché days, but I wanted to explore a bit more how it works. I've always thought that database automatic synchronization is complex by nature but, for some particular scenarios shouldn't be so hard. So I considered a very simple use case (OK, perhaps the typical one, I'm not discovering anything... but if it's common and it works, it's good wink ).

6 1
2 456

Hi,

Is there any way to set environment variables in Linux from Cache?

I see a way to get an environment variable with: $system.Util.GetEnviron()

Essentially I am converting from VMS (DCL) to Linux.

In VMS we used $ZF(-1,"SETSYM") in Cache to a value and then interpreted that value in a DCL procedure.

0 2
0 719
Article
· Jul 18, 2017 2m read
Old/New Dynamic SQL Cheat Sheet

The newer dynamic SQL classes (%SQL.Statement and %StatementResult) perform better than %ResultSet, but I did not adopt them for some time because I had learned how to use %ResultSet. Finally, I made a cheat sheet, which I find useful when writing new code or rewriting old code. I thought other people might find it useful.

First, here is a somewhat more verbose adaptation of my cheat sheet:

8 35
4 2.2K
Question
· Aug 15, 2019
List property

I have a list property that I query from the database to get the values contained in that list using $LISTFROMSTRING() when the list is returned the list values contain a rectangle like character similar to when you copy past something to the Terminal and it has a preceding space .The problem is I need to compare those values to other values and they do not match because of this value I have tried to use $EXTRACT(value,*W) and *P but this is not striping the preceding character how do I get rid of this character any ideas please.

0 3
0 472
Question
· Jul 24, 2019
Using Relationships

In Cache for UNIX (Red Hat Enterprise Linux for x86-64) 2018.1.2 (Build 309U) Mon Mar 4 2019 15:07:46 EST

I have a master record that has a relationship to a table with multiple transactions, and the transaction table has a relationship to another transaction table with multiple other transactions.

IE Item to Physcal to Physical Report

Item Master:

0 5
0 395
Question
· Aug 12, 2019
write #

Hi

Is there any way to control what control sequence is sent to a device when a "write #" is executed?

I have an application that establishes a banner at the top of the terminal window and when we do a "write #" the banner disappears. I need to be able to recreate the banner line as part of the screen clear.

Thanks

Jenna

0 3
0 325

I have an OAuth 2.0 development environment where Caché is serving all three roles as the Authorization Server, Client and Resource Server based on a great 3-part series on OAuth 2.0 by @Daniel Kutac. I have a simple password grant type where an x-www-form-urlencoded body (as described in this post) is sent as a POST to the token endpoint at https://localhost:57773/oauth2/token and a response body with a HTTP Response 200 header is returned. The response body looks something like this.

2 3
0 2.3K

Hi,

I am trying to use the LogicialToDate method in the %Library.FilemanDate class. In the class documentation it talks about the parameter STRICTDATA (see below). I would like to set the STRICTDATA to a 1 but I am not sure how to do that when using this method because the method does not reference this as a parameter to be passed into it. (see below).

How do I set the parameter?

Thanks

parameter STRICTDATA = 0;

0 4
0 210