Hi all,

We are doing a SQL server upgrade to SQL server v.15 from a legacy server which had v.10 . I have our Cache server as a linked server int order to pull data from our system. When building out the ROWSPEC, I have my fields typed as %String with various lengths with one field having a max length of 15000. The SQL server is trying to interpret this as a text data type instead of varchar(n). Text is a depracated data type since SQL server 2008. The error below is produced when trying to query from this view

0 1
0 241
Question
· Jul 13, 2023
$zu(96,9) Not working

Suppose you have routine ^A loaded in your partition in programmer mode and you call routine ^B. Routine ^B finds the value of $ZU(96,9) which should be the calling routine.

But $ZU(96,9) now returns null, as does $SYSTEM.Process.CallingRoutine()

Works on 2018.1.7 but not 2018.1.8

$ROLES= %All on both systems

More precisely I have line label ZZPP in ^%ZLANGC00 which needs to identify the original routine in the partition and do some work on it. When I type ZZPP I get nothing on the later version. Here's the line of code:

1 4
0 216

Now the Classes/Rutines/DeepSee files will be automatically exported to the working directory after saving or compiling and files will be automatically deleted .

https://www.youtube.com/embed/B1pmqAQqd4M
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

Installation

To install isc-dev , you just need to download and import the file isc-dev.xml from last release.
Some ways to import isc-dev .xml file:

  • Go to Management Portal -> System Explorer -> Classes -> Import and select the XML file.
  • Drag the file over Studio.
  • Terminal command:
NS>do $system.OBJ.Load("yourpath/isc-dev.xml","ck")
NS>zpm
zpm: NS>install isc-dev

How to enable this feature:

  • After importing the class in the target namespace, run the following method to set up the working directory:
NS>do ##class(dev.code).workdir("/path/to/your/working/directory/src/")
  • Go to Management Portal -> System Administration -> Configuration -> Additional Settings -> Source Control.
  • Select the target namespace and set the dev.FileManExtension class as the main one and save it.
  • Try to create a new class in the studio and save/compile it
  • Enjoy!
4 4
2 452

I have a question about how to modify a XData Block programmatically . Assume i have a impl.cls and there is a XData Block (like XData OpenAPI [ MimeType = application/json ]) in the impl.cls. In other class, can i write a fucntion to modify the context in the XData Block?

Ps: The document already show how to read the XData blcok, if i want to insert something into the block and save it back, how can i do this programmatically (eg write a method and read the block from other class, write something into the block and save it ) ??

Thanks

0 3
0 206

Hello, I am trying to write a script that will output a .log file. When I get PowerShell to parse the file with Get-Content, I find that there are extra spaces in the parsing. How can I edit my Intersystems script to output a logfile encoded differently? I think its outputting in unicode by default.

0 2
0 146

Hi I am trying to run a debugger in VS Code. I have the settings.json file and the launch.json file. I am trying to debug code using the attach to a process method, however when I run the debugger I get the following error.

Launch.json code

{

// Use IntelliSense to learn about possible attributes.

// Hover to view descriptions of existing attributes.

0 1
0 248
Question
· Jul 3, 2023
Cache Studio for Windows 11

Has anyone tried loading Cache 2017 on Windows 11?

I'm working with my corporate IT department to get a version published that will work on Windows 11 desktops but I have to prove that it can be loaded before they will give me the rights to install it.

It looks like Cache 2018 is supported but we're still supporting a bunch of 2017 installations until we can begin the move to IRIS.

Meanwhile the new laptops are all being issued with Windows 11 and the installers are all blocked by corporate.

0 5
0 321
Article
· Jul 6, 2023 1m read
How to overload methods in ObjectScript

InterSystems FAQ rubric

The InterSystems ObjectScript language does not allow you to define methods of the same name with different arguments. It is generally classified as a programming language called a dynamic language.

In ObjectScript, you can freely control which arguments are used when executing a method, so unlike languages ​​such as Java, which are not dynamic programming languages, there is no need to strictly distinguish methods by the number of arguments at the compilation stage.

5 0
1 229

NOTE: This content was originally presented at the InterSystems Global Summit in 2014, however related topics often come up on the Developer Community so I have decided to turn this into an article for easier reference and discussion. However, much of the content was pulled directly from the presentation slides so the article format resembles that of a PPT deck more than paragraphs.

7 1
3 968

Are you all ready for something you wish you knew ages ago (or, in my case, a DECADE ago)? Open up a portal in your favorite instance and go to:

System Administration->Configuration->Additional Settings->Startup

Scroll down to "Terminal Prompt" and click 'Edit'. This allows you to edit what you see on your terminal prompt. You can change that to my current setting: 8,3,2

What does this do? It adds your instance name for your prompt. So now your prompt can look like:

DEVELOPMENT:USER>

12 12
1 1.2K

As an AI language model, ChatGPT is capable of performing a variety of tasks like language translation, writing songs, answering research questions, and even generating computer code. With its impressive abilities, ChatGPT has quickly become a popular tool for various applications, from chatbots to content creation.
But despite its advanced capabilities, ChatGPT is not able to access your personal data. So in this article, I will demonstrate below steps to build custom ChatGPT AI by using LangChain Framework:

4 0
1 10.5K

I'm having trouble adjusting the protocol used for any CSP Requests. Currently all request to the system are sent over HTTP 1.1

When loading 40+ images on a page, the browser starts stalling request. According to google HTTP 1.1 only allows 6 parallel TCP Connections before suspending the remaining.

I have looked through the Web Gateway Settings, %Net.HttpRequest.HTTPVersion and SSL Configuration but haven't found anything.

0 7
0 256
Question
· Jun 23, 2023
Dateconversion

Hi Community,

I need to convert date 1997-08-09 10:38:39.700000000 into this format 1997-08-09T10:38:39Z

I have tried using all date function $ZDH,$ZDT no luck can anyone help me to convert this into required format.

Thanks,

Smythee

1 5
0 269

InterSystems FAQ rubric

For volatile tables (tables with many INSERTs and DELETEs), storage for bitmap indexes can become inefficient over time.

For example, suppose that there are thousands of data with the following definition, and the operation of bulk deletion with TRUNCATE TABLE after being retained for a certain period of time is repeatedly performed.

3 0
0 228
Article
· Jun 22, 2023 1m read
Countermeasures against SQL injection

InterSystems FAQ rubric

Countermeasures against SQL injection have been published on various websites, but we believe that it is possible to prevent SQL injection in applications using InterSystems SQL as well as other RDBMS by implementing these countermeasures appropriately. In addition, InterSystems Data Platform (hereinafter referred to as IRIS) incorporates several measures that make SQL injection more difficult than general RDBMS.

4 0
0 422
Question
· Jun 17, 2023
Hide or make routines binary?

Sorry, somewhat of novice here, but how is a mac or a routine created into a binary or is there a way to hide your routines so that no other user can edit them? Like remove source code and have an executable?

I would like to do this MAC and CSP pages

1 8
0 373

I am unable to connect to InterSystems ODBC client. I am seeing the following error:

[Cache ODBC][State : S1000][Native Code 417] Access denied.

$cnx = new PDO("odbc:Driver={InterSystems ODBC};Server=<IP>;Uid=<id>;Pwd=<password>;");

Am i doing anything wrong?

Although, I can successfully connect and retrieve data in MS Excel using ODBC connection where I have configured my DSN and all

0 2
0 2.1K

This is for the veteran programmers out there (you know who you are; you started programming before date 60000).

I'm in the middle of updates for our system, and I've come across many $ZU() calls. Most of them are documented in the "Replacement List", but two are missing: $ZUtil(0) and $ZUtil(1).

I honestly don't remember what these are for (and I'm pretty sure I used them in code in a previous century), so if someone can tell me, great. If you can provide a link to a reference, better!

As always, I appreciate your help.

0 10
0 314
Article
· May 25, 2023 2m read
API to import/export routines

This is an article on the InterSystems FAQ site.

1. Export API

a. Use $system.OBJ.Export() to specify individual routines to export. For example:

do $system.OBJ.Export("TEST1.mac,TEST2.mac","c:\temp\routines.xml",,.errors)

The format to specify is routine name.extension, and the extension is mac, bas, int, inc, obj.

Errors during export are stored in errors.

7 2
2 419