Also, please see http://blog.intersystems.com/compatibility/2014/08/25/deprecation-and-plans-for-current-java-apis-in-2014-2/
- Log in to post comments
Also, please see http://blog.intersystems.com/compatibility/2014/08/25/deprecation-and-plans-for-current-java-apis-in-2014-2/
Natasha,
we need much more details.
What exactly did you tried? How do you import data? What's the source of the data? What do you mean by "nothing works"?
What version of Caché do you have (exact $zv)? What locale this instance have?
I have no problems importing this data from UTF-8 file.
USER>set f = ##class(%Stream.FileCharacter).%New()
USER>write f.LinkToFile("c:\temp\demo.txt")
1
USER>set line = f.Read()
USER>write line
ščž
Thomas,
what version of Ubuntu do you have? What version of Caché do you install?
Please check with "Supported Technologies Information" section of documentation for this Caché version.
For example, Caché 2016.2.1 supports Ubuntu 16.04 x86-64 as development platform (http://docs.intersystems.com/documentation/ISP/ISP-20162.pdf#ISP_platforms_devonly)
Yes, you need to use Suse kit.
Hi Token.
Yes, you need to specify expected namespace for tag CardData. Do you know what it should be?
How do you generate this XML? Please provide small code sample. Do you have XML schema definition for CardData? If yes, please provide it.
Try to open following URL in browser on the machine where the Atelier is installed:
http://server:57772/api/atelier/
What does it return?
Check in web applications settings that /api/atelier is enabled.
Check in System Dashboard that you have enough license units.
UPD: I modified URL to http://server:57772/api/atelier/
Hi Rich.
If you open project in Atelier Explorer it's right below classes, routines and CSP files:
Conn605:USER in this particular sample
First of all, this is bad sample of GROUP BY query, in my opinion:
SELECT c1, c2 FROM table2 GROUP BY c1
You are grouping by c1, but also selecting c2. GROUP BY collects all rows with the same c1 into one row. Each group of row with the same c1 might have different values of c2. What particular value of c2 you want to get?
Generally, if you query contains GROUP BY, SELECT should contain either expressions from GROUP BY, or aggregate functions. For example, following query is OK:
SELECT c1, max(c2) FROM table2 GROUP BY c1
Having said all that, you might try to concatenate column1 and columnn2
SELECT column1, column2, column 3
FROM table
WHERE
column1 || '===' || columnn2 IN (SELECT c1 || '===' || c2 FROM table2 GROUP BY c1)
ORDER BY column1
provided that values in these columns do not contain '==='
Another possibility is:
SELECT column1, column2, column 3
FROM table T1
WHERE EXISTS (SELECT 1 FROM table2 T2
WHERE T2.c1 = T1.column1
AND T2.c2 = T1.column2)
ORDER BY column1
I think GROUP BY is not necessary in second case.
^%SYS.MONLBL is a great tool for profiling: http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GCM_monlbl
At least please notice that Caché ObjectScript does not have operator precedence.
Instead of
if (c >= 128 && c <= 255) {
you should write
if (c >= 128) && (c <= 255) {
the same with
s:(c >= 128 && c <= 255) retval=$lg(map,(c-128))
I think you can construct pKey as $ListBuild of different values and parse them back in LoadForm.
I don't think it's possible to add other parameters to LoadForm callback
For debugging purposes?
CSP Gateway trace is good.
Also, there are different verbose levels of CSP Gateway log. Particularly, notice v9 level.
You can use <csp:class includes='...'> ?
http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=RCSP_CSP_CLASS
Process monitor is useful tool in these cases (https://technet.microsoft.com/en-us/sysinternals/processmonitor.aspx).
Process monitor shows directories where zlib1.dll is searched for. So you can check if zlib1.dll is searched in <cache-dir>\bin.
Hi P.
Check for $d(^Vehicle(unitNumber)) in your sample is not right -- process in transaction can always read data that it has changed.
Starting transaction in READ COMMITTED mode means that this transaction cannot read data modified by other transactions but not commited yet (provided other transaction properly locks the data). It does not restricted other processes from reading data changed by this transaction, unless
a) Other process also starts transaction in READ COMMITED mode OR b) Other process acquires the lock for the global node that is modified by current process.
So, if legacy Caché ObjectScript code does not use locks you cannot prevent it from reading your uncommited data.
If legacy Caché ObjectScript uses locks then you need acquire these locks before inserting the rows into Vehicle.* tables.
Transaction isolation in Caché is implemented using locks. When you modify data using SQL or Object-access Caché acquire locks for you, unless you explicitely say not to do this.
Please see following documentation for more information on locking and concurrency in globals, Objects and SQL "Locking and Concurrency control" http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=ALOCK "Modifying the Database" http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GSQL_modify
Hope this explains things a little more, Alexander.
21 in non-expression mode
My solution is following: https://gist.github.com/adaptun/f04f15fc1474d57373d3f63928183284
']]' means 'Sorts After'. Indeed, as we can see A sorts after B.
USER>kill
USER>set A="1.0"
USER>set B="2.2"
USER>write A]]B
1
USER>set c(A) = 1, c(B) = 1
USER>zwrite c
c(2.2)=1
c("1.0")=1
I and [@Eduard Lebedyuk] came up with another solution. 28 symbols, though:
f p='""_+""-'"":-'"":"" w p
Hi Jeffrey.
Please check web-application settings (Management portal -> System Administration -> Security -> Applications -> Web Applications) and ensure that application '/api/atelier' is Enabled -- it has "Application" checkbox checked in Enabled section.
Hope this might help, Alexander.
Hi Jochen.
If you have different modules in one namespace I suggest to you to have different Atelier projects for these modules. Then you can have one Git repository to handle all these projects.
With such approach the repository has all the code for the namespace and the code is grouped by projects (modules) inside repository.
Here you can find more details on how you can define Git repository for multiple projects. https://wiki.eclipse.org/EGit/User_Guide#Creating_a_Git_Repository_for_multiple_Projects
Regards, Alexander.
You might also look into ##class(%UnitTest.Manager).WipeNamespace()
No. You need to wrap it as you showed in second example.
You can use "C" alias from first sample only in "ORDER BY" clause in the same query, not in WHERE.
Hi Dan.
I think Date Offset should help you
Please read doc here:
Also there is a good introductory book in documentation: "Caché Programming Orientation Guide" http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GORIENT
Can you connect to that server using openssl?
If yes, try to match protocol openssl uses with the protocols enabled in SSL/TLS Configuration.
E.g. if SSL/TLS Configuration have only TLS1 enabled, try to connect with openssl using -tls1
openssl s_client -tls1 -connect server:port
Maybe that server requires tls1.2 or SNI that is not available in Caché 2013.1
You have Atelier 1.0.190 and released version is 1.0.262.
Please try released version: https://download.intersystems.com/download/atelier.csp
This problem might be fixed there
write $classmethod(subclass,"%IsA",superclass)
?
To store passwords that you enter Eclipse as a platform for Atelier uses secure storage. This secure storage is protected by master password.
For more information on secure storage and master password please see https://docs.intersystems.com/atelier/latest/topic/org.eclipse.platform.doc.user/reference/ref-securestorage-start.htm?cp=0_4_3
Documentation says following:
For a table containing more than 1 million records, a bitmap index is less efficient than a standard index when the number of unique values exceeds 10,000. Therefore, for a large table it is recommended that you avoid using a bitmap index for any field that is contains (or is likely to contain) more than 10,000 unique values; for a table of any size, avoid using a bitmap index for any field that is likely to contain more than 20,000 unique values. These are general approximations, not exact numbers.
Best book for beginners that I can recommend is book
"Caché Programming Orientation Guide"
from internal documentation: http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GORIENT
Also (although it's not a book) there is https://learning.intersystems.com/totara/coursecatalog/courses.php with many courses on different sides of Caché and Ensemble
select $Translate('Mm/Dd/YEAR','YEARMmDd','20171116')