go to post Kurro Lopez · Apr 7 Also... you can create a ClassMethod to pass the fields to retrieve ClassMethod DynamicQuery(columns As %String) As %Status { // columns: comma-separated string, e.g. "Book,Author" // Basic validation If columns = "" { Write "No columns specified.", ! Quit $$$ERROR } // Build the SQL query Set sql = "SELECT " _ columns _ " FROM myTables.Books" Try { Set stmt = ##class(%SQL.Statement).%New() Set sc = stmt.%Prepare(sql) If $$$ISERR(sc) { Write "Error preparing the query.", ! Quit sc } Set rset = stmt.%Execute() While rset.%Next() { For i = 1:1:rset.%ColumnCount { Write rset.%GetColumnName(i), ": ", rset.%Get(i), " | " } Write ! } } Catch ex { Write "Error executing the query: ", ex.DisplayString(), ! Quit ex.AsStatus() } Quit $$$OK } Then, call it using this command: Do ##class(MyApp.Utils).DynamicQuery("Book,Author")
go to post Kurro Lopez · Apr 7 Hi @Touggourt If you want to retrieve the values, prepare the query by concatenating the values you want to retrieve set var1 = "Book" set var2 = "Author" set query = "SELECT "_var1_","_var2_" FROM myTables.Books" set statement = ##class(%SQL.Statement).%New() set status = statement.%Prepare(query) set rset = statement.%Execute() do rset.%Display() Have a look the following link: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls... Regards
go to post Kurro Lopez · Apr 1 Thanks @Brett Saviano I've already taken a look at the api/atelier APIs, and they've been very helpful in retrieving namespace names. In our check method, in addition to server information, we return more information about production, such as the version number, last installation date, connection status with external databases, etc. We have two mirrored servers, so if one of the servers goes down, the backup server is activated. If the server name is different than expected, it's because the backup server has been activated and is providing service without issue, but we have an alert that the primary server has gone down. This is an example of what our check service returns: { "result": "OK", "methods": [ { "test": "SQL_USERS", "result": "OK" }, { "test": "SQL_APPOINTMENT", "result": "OK" }, { "test": "VERSION", "result": "1.14.0.0327" }, { "test": "INSTALLED", "result": "2024-12-04T08:04:52+01:00" } ], "serverName": "SRVPROD01", "serverApi": "10.168.1.1", "serverInstance": "HEALTHCONNECT", "execution_time": "00:00:00.0597418" }
go to post Kurro Lopez · Dec 2, 2024 Hi, You can find all ODBC drivers is this link https://intersystems-community.github.io/iris-driver-distribution/
go to post Kurro Lopez · Oct 28, 2024 Thank you Luis Angel, I've followed the steps of the documentation and now it works. Fortunally, the code of that namespace it was a dummy code just to create a documentation about how to rename a namespace.
go to post Kurro Lopez · Oct 18, 2024 Thanks Julian. If there is any error in the query, always throw a generic error code (ERROR #6022: Gateway: Execute fail), but I don't know if it is due a a duplicate value (code 2061) or is due other sql error code. Using this code, err.Code always is 6022
go to post Kurro Lopez · Oct 18, 2024 Note: I've done the following code to catch the native error... but it is a bit "smell code" // run the query Set tSC = ..Adapter.ExecuteUpdateParmArray(.nrows,SQL,.param) // Check if there is any error If $$$ISERR(tSC) { Set msgError = $System.Status.GetErrorText(tSC) // Check here if the native error code is 2601 (Cannot insert duplicate key row into object 'MYPATIENTS' with unique index 'UQ_UNIQUE_INDEX') if $FIND(msgError, "[2601]") > 0 { // This is a insert/update that violates the unique code // remove duplicate record quit $$$OK } else { // Generic error... thow excepction quit tSC } }
go to post Kurro Lopez · Oct 2, 2024 Congratulations to all winners. iterm is super useful. Great job by @Dmitry Maslennikov
go to post Kurro Lopez · Jul 23, 2024 Thanks Thomas, Indeed, I have tried to use IntegratedML as a neural network, if I really need my model to learn to find what the pattern of converting degrees Celsius to Fahrenheit is, it is to "feed" the data with more data. Thanks so much for the explanation.
go to post Kurro Lopez · Jul 15, 2024 I don't believe that training is working as poorly as I'm experiencing. Does anyone have any answers to this problem?
go to post Kurro Lopez · Apr 10, 2024 Thanks, using this code I've converted it to a Strem.GlobalChar and read the content correctly
go to post Kurro Lopez · Apr 1, 2024 Congratulations to the winners. Thanks for all, we must to repeat 😉
go to post Kurro Lopez · Mar 27, 2024 I'm afraid you need a Office 365 subscription, because it is a functionality for full version. Sorry. The webhook is associated with an account and is managed by the Microsoft server, a personal account does not have a service that is "listening" for external requests.