go to post Robert Cemper · Feb 9, 2018 from: https://www.sqlservercentral.com/Forums/Topic647815-145-1.aspxDifference between varchar(max) and varchar(8000)Varchar(8000) stores a maximum of 8000 characters. Varchar(max) stores a maximum of 2 147 483 647 characters. See Books Online, the page titled "char and varchar" for more info. Gail ShawMicrosoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
go to post Robert Cemper · Feb 9, 2018 did you consider that max could mean maximum allowed size ? while string max has no value.
go to post Robert Cemper · Feb 9, 2018 #1) your subscript is just $i not $i(^%ARUNDTMP) so we loose the full trace for multiple calls. but we have anyhow some trace.#2) $isObject(%page) = 0 so there is NO object of your ZENpage available and access to %page.... must fail.Hard to say why and where you loose %page
go to post Robert Cemper · Feb 9, 2018 did you try ?SET SQLQuery3 = "{ call xxxx('aaaa') }"SET tSC = ..Adapter.ExecuteProcedure(,,SQLQuery3)
go to post Robert Cemper · Feb 8, 2018 Not sure if this is the real problem: Anyhow it is a problem. var result=this.BtnClickMe(MyPriority); // here you expect a return value return;}ClassMethod BtnClickMe(MyPriority) as %String [ ZenMethod ] // return something{ set ^%Arun($i(^%Arun))=$isObject(%page) // JUST temporary for debugging // check for <INVALID OREF> Set %page.%GetComponentById("Priority1").title=MyPriority quit $$$OK // return something}
go to post Robert Cemper · Feb 8, 2018 funny observation:2 fresh installed instances (ENS 2017, IRIS 2018) show Unauthenticated onlywhile the upgraded Caché 2016.2 shows me Unauthenticated and Password.But can't remember the status of MgmtPortal at the time of upgrade.
go to post Robert Cemper · Feb 8, 2018 Quite interesting on my WIN10_prof I had no need of /S as I wante exactly THIS directoryAnd you are right. If the file exists already and is accessible nothing prevents you from modifying it.You probably can't delete it as this requires access to directory.And you are also right that ATTRIB doesn't propagate it. So I think the whole approach to check the directory is misleading.Now we are back to the initial proposal.Do an OPEN with timeout in this directory ("WN") and on success you can write to the directory.The test file can be removed by CLOSE file:"D" if you didn't open with "WND" .And it tells you can I write there YES/NOAnd this is independent of any status and flags and don't know what in whatever filesystem I work on.
go to post Robert Cemper · Feb 7, 2018 If you go in Atelier menu to Windows > Preferencesand in there to General > Keys you find the definition for Ctrl+right / Ctrl+leftThis tells me it's deep embedded in Eclipse. But can be changed:https://wiki.eclipse.org/FAQ_How_do_I_provide_a_keyboard_shortcut_for_my...I found ~ 1800 keymaps on Eclipse Marketplaceand for MS Visual Studio keymap (which might be closest) still 83 hits.To summarize: it's NOT a configuration issue as long as you don't have something ready to include.It might take some time to find a useful one.
go to post Robert Cemper · Feb 7, 2018 In Caché you typically work on objects but you can present them also as rows in an SQLtable.The identifier for objects is IDKEY if you don't do it yourself it is assigned by Caché.PrimaryKey is something you assign by your application.Both are UNIQUE.And if you define your PrimaryKey as Autoincrement starting with 1 both are quite likely identical.That's a basic view. IDKEY has far more variants to be found in documentation.
go to post Robert Cemper · Feb 6, 2018 There is a solution using WIN command attrib to check read only access flag.It doesn't write files.You are welcome to discuss about "elegance" . set dir=yourDirectory set dev="|CPIPE|" set cmd="attrib /d " set result="" open dev:(cmd_dir:"R"):0 if $test use dev read result close dev if $piece($zstrip(result,"<>"," "),dir)["R" write "directory read only",! else write "directory accessible",!
go to post Robert Cemper · Feb 6, 2018 But $ZU(140,1,Directory) ALWAYS returns -5 "no access"tested on Cache for Windows (x86-64) 2016.2
go to post Robert Cemper · Feb 6, 2018 Your observation is correct.I checked the underlying system call.In Windows {for me Win10} all you get back is the flag ="isDirectory"So you need to do the indirect check as described in the comments
go to post Robert Cemper · Feb 6, 2018 You are right. Open Parameter should be "WN"It is just an indirect test as OPEN on a directory fails with < NOTOPEN>And it also fails if the file already exists and can be accessed.
go to post Robert Cemper · Feb 5, 2018 corrected:Set file="full file reference"OPEN file:("WN"):0 Else Write "write lock on file",!
go to post Robert Cemper · Feb 5, 2018 Then you should check it with the OPEN command Set file="full file reference" OPEN file:("WN"):0 Else Write "write lock on file";!you do an open for write on the file with timeout zero if it fails $TEST is 0 (false)http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GIOD_rmsseqfiles
go to post Robert Cemper · Feb 5, 2018 You have to be aware that you access the file by the rather high privileged account that Caché service is running in.Have you blocked this account too ?
go to post Robert Cemper · Feb 5, 2018 You are right. But it has no impact.Another reason to move to Atelier.
go to post Robert Cemper · Feb 5, 2018 as all values out of your SQL query come from server you should be ableto setup the content of title on server side as you do for other ZEN components.#; compopse titel .... into variable mytitle set %page.%GetComponentById("Priority").title=mytitle There is a wide doc on programming ZEN pageshttp://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GZEN