查找

Pergunta
· Jul. 31

Issue Sending Data to SQL Server from a Business Operation in IRIS Ensemble

Hi everyone,

I'm developing an Ensemble process that sends user data from a Business Process to a Business Operation using EnsLib.SQL.OutboundAdapter. The operation is supposed to call a stored procedure on a SQL Server.

The stored procedure expects 3 parameters:
@FirstName, @LastName, and @Email.

The procedure works fine when executed directly from SQL Server Management Studio.

However, when I trigger it via Ensemble, I get the following error:

[SQL Server] Incorrect syntax near 'email@domain.com'

hat is the proper way to use ExecuteProcedure or ExecuteUpdateParmArray to safely pass parameters to a SQL Server stored procedure using EnsLib.SQL.OutboundAdapter?

If anyone has a working example of a Business Operation calling a SP with parameters – that would be a huge help 🙏

Thanks in advance!

5 Comments
Discussão (5)4
Entre ou crie uma conta para continuar
Anúncio
· Jul. 31

[Demo Video] AI Clinical Trial Platform

#InterSystems Demo Games entry


⏯️  AI Clinical Trial Platform

The Trial AI platform leverages InterSystems cloud services including the FHIR Transformation Service and IRIS Cloud SQL to assist with clinical trial recruitment, an expensive and prevalent problem. It does this by ingesting structured and unstructured healthcare data, then uses AI to help identify eligible patients.

Presenters:
🗣 @Vic Sun, Sales Engineer, InterSystems
🗣 @Mohamed Oukani, Senior Sales Engineer, InterSystems
🗣 @Bhavya Kandimalla, Sales Engineer, InterSystems

👉 Like this demo? Support the team by voting for it in the Demo Games!

Discussão (0)0
Entre ou crie uma conta para continuar
Artigo
· Jul. 31 1min de leitura

Import CSV into CACHÉ

Here's a practical example of how to import data from a CSV file into InterSystems CACHÉ using ObjectScript
Assuming your CSV file is simple (e.g., comma-separated, with headers), you can use %Stream.FileCharacter to read it line by line and parse the data.

 

ClassMethod ImportCSV(filePath As %String) As %Status {
    Set stream = ##class(%Stream.FileCharacter).%New()
    Set sc = stream.LinkToFile(filePath)
    If 'sc Quit sc

    While 'stream.AtEnd {
        Set line = stream.ReadLine()
        Set fields = $ListFromString(line, ",")
        // Example: Save to a persistent class
        Set obj = ##class(MyApp.Data).%New()
        Set obj.Name = $List(fields,1)
        Set obj.Age = $List(fields,2)
        Set obj.Email = $List(fields,3)
        Do obj.%Save()
    }
    Quit $$$OK
}

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· Jul. 31 2min de leitura

Listando conexões dos itens da produção recursivamente

Se você trabalha com Produções, destacar as conexões entre Business Hosts é um recurso muito conveniente, permitindo aos desenvolvedores obter uma representação visual do fluxo de dados.

Esse recurso funciona por padrão com todos os Business Hosts do sistema. Se um usuário escreve seus próprios Business Services, Processes ou Operations, ele deve implementar o método OnGetConnections para que essa funcionalidade funcione com seus Business Hosts personalizados (ou usar as propriedades  Ens.DataType.ConfigNamepara as conexões).
Dito isso, o SMP mostra apenas a primeira camada de conexões do Business Host selecionado. Às vezes, precisamos obter conexões de conexões recursivamente para construir um grafo completo de fluxo de dados. Ou podemos precisar dessas informações de conexão para verificar quais sistemas downstream podem ser afetados por uma mudança upstream.Para fazer tudo isso, escrevi uma classe Utils.Connectionsque oferece o método GetConnectionsJSON Você pode passar um ID do Item ou Nome do Item, e ele retornará um objeto dinâmico contendo todas as conexões. Veja como funciona. Assumindo esta produção:


Você obterá este JSON para o serviço in.REST service (##class(Utils.Connections).GetConnections("in.Rest")):

{
  "in.REST":[
    {
      "EnsLib.HL7.SequenceManager":[
        "Ens.Alert",
        {
          "Router":[
            "Ens.Alert"
          ]
        },
        "in.BO",
        "s3.BusinessOperation"
      ]
    }
  ]
}

Cada item possui um array de conexões. Se uma conexão tiver conexões próprias, será um objeto com um array dentro; caso contrário, será apenas uma string.

Também existem queries SQL para obter conexões para um item ou listar todas as conexões para todos os itens:

SELECT Utils.Connections_GetConnections(ID)
SELECT * FROM Utils.Connections_ListConnections()

Código no GitHub.

Discussão (0)1
Entre ou crie uma conta para continuar
Anúncio
· Jul. 31

[Video] What Is InterSystems FHIR Server?

Hi, Community!

Are you building applications in a healthcare setting? See how InterSystems FHIR Server can help:

What Is InterSystems FHIR Server?

InterSystems Product Manager @Elijah Cotterrell explains how InterSystems FHIR Server helps you store, manage, and query healthcare data. In a brief demo, Elijah shows how you can:

  • Deploy a FHIR server.
  • Configure OAuth authentication.

You will also learn about two key tools—the Bulk FHIR Coordinator and FHIR SQL Builder—which allow you to scale your applications and perform analytics!

Discussão (0)1
Entre ou crie uma conta para continuar