The gateway server is mainly taking care of Logging and tracing using 53773 as a backward link.
So your network experts are right.
- Log in to post comments
The gateway server is mainly taking care of Logging and tracing using 53773 as a backward link.
So your network experts are right.
Exactly!
here is the example Defining a JDBC Connection URL
jdbc:IRIS://<host>:<port>/<namespace>
where the parameters are defined as follows:
AHH! that sounds quite different.
First is your super server port really 53773 ?
Default is 51773. While 53773 might be a gateway port for reverse connection.
you can check in SMP System > Configuration > Memory and Startup
Otherwise
I suspect telnet as a protocol might be blocked by some firewall by principle.
from a terminal prompt in IRIS you might try this:
So you create a TCP listener on port 7000 hanging around
Then try to connect from an external server by telnet to port 7000 on your server
As soon as you send 15 or more characters the READ will complete and you see the content in variable req
As you describe I assume this will fail. Indicating that some firewalls or similar blocks access.
Most likely the port is blocked.
In addition netstat -a from system prompt
or user>$netstat -a from IRIS terminal shows ALL listeners on your system
It's not clear to me what you try:
"..so customers can connect to IRIS remotely using JDBC and not ODBC...."
So they need the related Java-Libraries to connect. see Establishing JDBC Connections
While the setting in your jpg. relate to the SQL-JDBC Gateway that allows access to other DBs over JDBC.
You have also a JAVA gateway to run java out of IRIS See Using the Java Gateway.
An index on reg.mnr and bar.invnum will accelerate this.
That's a general problem of a web interface like this.
You start a query but it isn't finished before your fall into a browser timeout.
An easy workaround:
Start a terminal session (terminals don't know about timeout)
and from prompt run SQl.Shell
.png)
or for a multi-line statement just start with an empty line and run with GO
.png)
It will wait forever until completed
I'm not aware that this is available at SQL / DDL level
You can set the default collation for all globals in a database.
.png)
or specific for an individual global before using it.
.png)
The available collations have to be added here
.png)
https://cedocs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=RSQL_INSERTORUPDATE
The article is pretty explicit on the issues of IDkey.
I see 4 critical points to check:
great! That's faster and requires no restart. ![]()
what you are looking for is called global indirection
and so on
As these buffers are a (hopefully large) pool that belongs to your whole installation.
They are only cleared if you restart Caché.
But you should probably take a look at your "disk drives" (whatever type they are).
Their performance might be worth to check
[in quotes as they might be virtual in some way]
In addition, a performance check with WRC might make sense.
They are top experts to the subject.
If you have a large buffer pool you might run a $QUERY() loop across the whole global
in the morning and hope it stays there long enough. Some installations practice it that way.
Almost right!
not $order but the related global blocks are cached in global buffers.
large global buffers improve performance but they have to be loaded first.
and disk access is the slowest part in your machine (except network)
so at 1st access, you load the buffers and that might be slow.
any further access uses the loaded buffers
@Evgeny Shvarov GREAT ! I had never expected this practical value!
Thank you @Dan Pasco !
This confirms that it is not just a crazy idea ( as some of my former colleagues classified it).
I met this during testing about a decade ago to manage test data and to compare the impact of code changes.
And - based on my history - the global was and is the ultimate truth for me of what is done on objects.
Robert
Thanks @Evgeny Shvarov for checking !
the clause item IN ('$ZE','$ZV') catches the same set of records twice.
image + fix in the original reply
Thanks for your clarification. I have now 1 rcc.PKG and several rcc.anything.PKG
DONE.
@Evgeny Shvarov
Are you looking for something like this ?
.png)
this is the related query:
select %vid AbsRef
, TO_CHAR(Day,'YYYY-MM-DD') Day
, Seq
, $PIECE($PIECE(p,'$ZE=',2),'>',1)||'>' Type
, $PIECE($PIECE(p,'>',2),',$ZV',1)||'>' Line
, $PIECE(p,'$ZV=',2)||'>' Version
from (
SELECT TOP ALL
day, seq, LIST(item||'='||value) p
FROM zrcc.ERRORStack
WHERE Stacklevel=0
AND item IN ('$ZE','$ZV')
GROUP BY day,seq
)out of the experience: every project in ZPM needs its personal package.
otherwise, you may see this:
ERROR #5001: Resource 'rcc.PKG' is already defined as part of module 'echoserver-wsock-iris'; cannot also be listed in module 'iris-internal-websocket-client'
ERROR #6315: FErrors reporting importing XML subelement in file 'C:\InterSystems\IRIS\mgr\.modules\USER\iris-internal-websocket-client\1.0.0\module.xml', at line'3', offset '55'. skipping this item.
@Evgeny Shvarov
%ETN typically stops your job. set $ZT="^%ETN"
If you use LOG^%ETN it writes to ^ERRORS and continues the job.
this is highly comfortable to be used in try {....} catch error { do LOG^%ETN }
more details to be found in ^%ETN.int (easy to read)
Thanks for the hint.
I was pretty sure there should be something similar to serve SysMgmtPortal. I just didn't know.
Obviously the authors had the same problems as me with the old structure and applied a bunch of custom queries.
I don't think I missed something:
- the class is deployed so you have to accept what it does.
differently %ERN.int doesn't hide anything and speaks full truth.
- next to use it you require full access rights to %SYS and a namespace change %SYS to run it.
- and finally the topmost requirement: The queries are invisible to SQL!
Just because not being exposed as SqlProcedure.
My solution runs in any namespace on Caché / Ensemble / iris .
Without any privileges and doesn't touch any ISC copyrights!
@Evgeny Shvarov
I went into Studio and then killed the job from Portal by <RESJOB>
Thanks @Eduard Lebedyuk ! Fixed
@Evgeny Shvarov
It seems to me OEX changes the URL with every update. here appending -1 to original URL.
It was a little bit more complicated than expected. Anyhow take a look
SQL for ^ERROR Global
Thanks to @José Roberto Pereira for the inspiration.
in IRIS if the data type is any numeric (%Integer, %Decimal, %Float, ..... or %Boolean) the value is NOT enclosed in Quotes.
Just to outline my understanding:
my package will be rcc.subject.classname
rarely eventually zrcc.subject.classname if it should go to %SYS .
And I will not touch/ rename existing projects as this means changing not just the code
but also README.md , Descriptions in OEX and Articles in DC, Screenshots, Dependencies (not just my own), ...
Over all a good source for mistakes, typos, errrors, confusion,
What is the rule for VERSION in Dependencies ?
Is it an EQUAL or a MINIMUM Version.
e.g. <Version>0.0.0</Version> would mean any version
<Dependencies>
<ModuleReference>
<Name>holefoods</Name>
<Version>0.1.0</Version>
</ModuleReference>
</Dependencies>Thanks !
The so-called SQLformat doesn't exist in Caché (at least not in the last 20 years)
But over the gateway, you can move data from Caché to PostgeSQL. "from a table on CACHE to a POSTGRESQL table"
So you need a trigger to do it:
- Caché has to be the active part here
you can start the upload over a webservice, an REST call, even as an SQLprocedure, or automatically by the scheduler
And if you don't want to touch your target table directly you may have a shadow-copy in PostgreSQL that
then serves as a source for your final updates. ( some INSERT...SELECT....)
So instead of import from CSV, you do an import from a local table in PostgreSQL
Anything is better than CSV.
This would even allow filling your shadow over the day in small steps instead of a big bang (if needed)
There is a JDBC driver to PostgreSQL available.
Using that drive you define an SQL Gateway for your PostgreSQL and establish a link for your tables:
The projection can be accessed as if was a table in Caché.
Details & HowTo here: https://cedocs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GSQL_gateway