Nueva publicación

Encontrar

Artículo
· 4 jul, 2025 Lectura de 3 min

¡Opciones para desarrolladores Python + Encuesta!

Estoy escribiendo esta publicación principalmente para recopilar un consenso informal sobre cómo los desarrolladores están utilizando Python junto con IRIS, ¡así que por favor responded a la encuesta al final del artículo! En el cuerpo del artículo, daré un poco de contexto sobre cada una de las opciones proporcionadas, así como sus ventajas, pero si lo preferís, podéis hacer una lectura rápida y simplemente responder la encuesta.

Como muchos de vosotros probablemente ya sabéis, Python es actualmente el lenguaje de programación más popular entre los desarrolladores en todo el mundo —y con buena razón. Python es intuitivo, fácil de leer, cuenta con una gran cantidad de bibliotecas y paquetes, y ofrece numerosos recursos para resolver casi cualquier problema. Por estas razones y muchas más, Python suele ser la primera opción natural para los desarrolladores.

Entonces, cuando un desarrollador comienza a trabajar con InterSystems IRIS, puede surgir una pregunta común: “¿Puedo usar Python y aún así aprovechar al máximo IRIS?” ¿La respuesta? “¡Sí!” Este artículo presentará algunas de las formas más comunes en las que se puede usar Python junto con InterSystems IRIS.

Opciones para usar Python con IRIS:

1. Python embebido:
Presentado en 2021, Python embebido permite escribir y ejecutar código Python directamente dentro de ObjectScript. Esto permite el uso conjunto de Python y ObjectScript, integrando Python en el entorno de IRIS sin salir de él. Es una excelente opción para quienes desean aprovechar Python sin abandonar el ecosistema de IRIS.

2. Conectividad ODBC mediante pyODBC:
También podéis conectar aplicaciones externas de Python a IRIS usando ODBC, al estilo de una arquitectura cliente-servidor tradicional. Este es probablemente el método de integración más utilizado, ya que se basa en flujos de trabajo SQL familiares para los desarrolladores Python. El paquete pyODBC es compatible con la especificación DB API 2.0 y permite ejecutar consultas SQL sobre bases de datos IRIS.

3. API Nativa de InterSystems y External Language Server (ELS):
Estas dos opciones ofrecen una integración más flexible entre Python e IRIS:

  • a. API Nativa para Python: permite el acceso directo a características centrales de IRIS como clases persistentes y estructuras globales. Es ideal cuando se necesita trabajar con constructos específicos de IRIS de forma programática desde Python.
  • b. External Language Server (ELS): permite que IRIS invoque código Python que se ejecuta en un proceso separado, o incluso en un servidor distinto. Es especialmente útil cuando el código Python consume muchos recursos (CPU o memoria), o cuando se necesita aislar la ejecución para garantizar estabilidad y escalabilidad.

En resumen:
Python e InterSystems IRIS se complementan muy bien. Ya sea que tengáis poca experiencia con ObjectScript, queráis aprovechar el rico ecosistema de Python, o simplemente prefiráis programar en este lenguaje, existen múltiples caminos de integración. Cada opción ofrece beneficios distintos según tu arquitectura y caso de uso.

¡Gracias por leer este breve resumen sobre cómo usar Python con InterSystems IRIS!

Comentarios (0)1
Inicie sesión o regístrese para continuar
Pregunta
· 4 jul, 2025

How to export a project XML file for deploy with Visual Studio Code?

Hello everybody, 

I would like to export project contents using Visual Studio Code, as well as I do with InterSystems Studio.

However, while attempting the export through the InterSystems extension I get the following error:

- There are no folders in the current workspace that code can be exported to.

These are the step to reproduce my error:

  1. Create and save a new VSCode workspace
  2. Open a local directory 
  3. Go to the InterSystems extension
  4. Open "Projects" panel and right-click on the project you want to export
  5. Click on "Export Project Contents"

Anyone can help me solving this issue?

Thank you in advance 

7 nuevos comentarios
Comentarios (7)4
Inicie sesión o regístrese para continuar
Anuncio
· 4 jul, 2025

¡Chatea con la IA de la Comunidad de Desarrolladores!

¡Hola comunidad!

¡Estamos emocionados de presentar una nueva forma de interactuar con la IA de la comunidad de desarrolladores! - Ahora podéis tener una conversación real con ella.

En lugar de hacer preguntas aisladas, podéis chatear con la IA de la comunidad (DC AI) de una forma más natural y fluida. Así, ya sea que estéis explorando tecnologías de InterSystems, depurando código o aprendiendo algo nuevo, la DC AI está aquí para ayudaros, como lo haría cualquier otro desarrollador.

Y al igual que la versión original de preguntas y respuestas, esta experiencia de chat está impulsada por InterSystems IRIS Vector Search, lo que hace que vuestras conversaciones sean rápidas, con conciencia del contexto y altamente relevantes.

👉 ¡Probadla y contadnos qué os parece!

Comentarios (0)1
Inicie sesión o regístrese para continuar
Pregunta
· 4 jul, 2025

Audifort Natural Supplement – Is This the Real Fix for Ringing Ears and Hearing Trouble?

Audifort

Natural Formula: Audifort is made from all-herbal components, making it a more secure alternative for people who choose non-pharmaceutical answers for their ear health problems.

 

SHOP ME@- https://beastfitclub.com/get-audifort/

FACEBOOK- https://www.facebook.com/AudifortDrop/

FACEBOOK- https://www.facebook.com/groups/get.audifort/

FACEBOOK- https://www.facebook.com/groups/audifort.official/

FACEBOOK- https://www.facebook.com/groups/andrewrossaudifort/

FACEBOOK- https://www.facebook.com/groups/audifort.andrew.ross/

CLICK HERE- https://github.com/Davidhuupp/Audifort

CLICK HERE- https://medium.com/@Audifort

CLICK HERE- https://audifort-1.jimdosite.com/

CLICK HERE- https://site-00rjxmxxz.godaddysites.com/

CLICK HERE- https://audifortdrop.systeme.io

CLICK HERE- https://gns3.com/community/discussions/audifort/

CLICK HERE- https://filmfreeway.com/AudifortDrop

CLICK HERE- https://online.visual-paradigm.com/community/bookshelf/Audifort-Drop

CLICK HERE- https://heyzine.com/flip-book/fda05a863c.html

CLICK HERE- https://sites.google.com/view/audifortdrop/

CLICK HERE- https://nas.io/audifortreviews/challenges/audifort-drop

CLICK HERE- https://www.perio.org/wp-content/uploads/ninja-forms/40/Audifort.pdf

CLICK HERE- https://github.com/audifortdrop/Audifort/

CLICK HERE- https://www.perio.org/wp-content/uploads/ninja-forms/40/Audifort-reviews.pdf

CLICK HERE- https://fmcreators.com/index.php?threads/audifort-hearing-support-supplement-is-it-the-natural-answer-to-better-hearing.22824/

CLICK HERE- https://nas.io/audifort-reviews/challenges/audifort-hearing-support-supplement-a-natural-way-to-improve-ear-health

CLICK HERE- https://filmfreeway.com/Audifort-reviews

CLICK HERE- https://sites.google.com/view/audifort-reviews/

CLICK HERE- https://gns3.com/community/discussions/audifort-hearing-support-real-solution-or-just-another-supplement

CLICK HERE- https://colab.research.google.com/drive/1SkyG1tTCO1LhIp7PwLPoLDB3YPZxEGbB

CLICK HERE- https://heyzine.com/flip-book/000869ecb6.html

CLICK HERE- https://online.visual-paradigm.com/community/bookshelf/Audifort

CLICK HERE- https://knowt.com/note/2e9bdcfe-e62e-4495-bf86-9d05df4fb152/Audifort-Side-Effects-Investigated-Is-I

Comentarios (0)1
Inicie sesión o regístrese para continuar
Artículo
· 3 jul, 2025 Lectura de 4 min

文字コードが不明なファイルや文字列を正しく処理する方法

これは InterSystems FAQ サイトの記事です。

InterSystems 製品では、ファイルオープン時に文字コードを指定すれば指定の文字コードで正しくファイルの中身を処理できます。

文字コードを指定しない場合、InterSystems 製品をインストールした OS に合わせて設定されたファイル I/O 用文字コードを利用してファイルをオープンします(Linux 系は UTF8、Windows は SJIS)。

また、文字列については文字コードが判明していれば $ZCONVERT() 関数を使用して指定文字コードで文字列を処理することができます。

 例)$ZCONVERT(文字列,"I","IRIS内文字コード")

文字コードが不明な場合、残念ながら InterSystems 製品だけでそのコードを判別することができないため、例えば Embedded Python で Python の chardet パッケージを使用して文字コード判別し、IRIS 内文字コードを取得しファイルオープン、文字列の文字コード変換をすることができます。

chardetパッケージについては、外部サイトですが参考となります。ぜひご参照ください。

参考ページ:[解決!Python]テキストファイルのエンコーディングを調べて、その内容を読み込むには(chardetパッケージ)

以下、具体的な処理内容です。文字コードが不明なファイルに対する処理例として記載しています(文字列に対する処理例は末尾にあります)。

IRIS のクラス定義に以下のように language=python を設定したクラスメソッドを用意します。

/// ファイルのエンコードを確認して返す
/// 第1引数:ファイル名(フルパス)
/// 戻り値:エンコード
/// 事前準備:Pythonのchardetパッケージをインストールしておく必要があります
/// 参考URL:https://atmarkit.itmedia.co.jp/ait/articles/2105/11/news015.html
ClassMethod GetEncode(filename As %String) As %String [ Language = python ]
{
import iris
from chardet import detect  # chardetパッケージからdetect関数をインポート
with open(filename, 'rb') as f:  # バイナリファイルとして読み込みオープン
    b = f.read()  # ファイルから全データを読み込み
    enc = detect(b)  # 読み込んだデータdetect関数に渡して判定する
#print(enc)
return enc["encoding"]
}

 

ターミナルで単体テストを行った結果は以下の通りです。

例:ECU-JPで保存されているファイルを確認した場合

この後、IRIS 内ユーティリティメソッドを利用して IRIS 用文字コードを入手しファイルオープン時の文字コードに指定します。

set TranslateTable=##class(%Net.Charset).GetTranslateTable(ここにPythonで確認したエンコード)

 

コード詳細は以下の通りです。

ClassMethod test(filename As %String)
{
    if $Get(filename)="" {
        write "第1引数にファイル名をフルパスで指定してください",!
        return
    }
    // Pythonのchardetパッケージを利用したエンコード調査を実行します
    set encode=..GetEncode(filename)
    if $get(encode)="" {
        write filename," のエンコードが入手できませんでした",!
        return
    }
    // エンコードが返った来た場合、IRIS内の文字コードを調査
    set TranslateTable=##class(%Net.Charset).GetTranslateTable(encode)
    
    write "IRISの文字コードは:",TranslateTable,!
    write "ファイルの中身は以下==",!
    set fs=##class(%Stream.FileCharacter).%New()
    set fs.TranslateTable=TranslateTable
    do fs.LinkToFile(filename)
    while fs.AtEnd=0 {
        write fs.ReadLine(),!
    }
    kill fs
}

 

実行例は以下の通りです。

USER>do ##class(FAQ.Utils).test("/data/sample1.txt")
IRISの文字コードは:EUC
ファイルの中身は以下==
あいうえお
かきくけこ
さしすせそ

USER>

 

ファイルではなく文字列に対して操作する場合は、以下の手順で実行します。

1、Python の chardetパッケージを利用してエンコードを入手

set encode=##class(FAQ.Utils).GetEncode("/data/sample1.txt")

 

2、IRIS 用文字コードを入手

USER>set TranslateTable=##class(%Net.Charset).GetTranslateTable(encode)

USER>write TranslateTable
EUC
USER>

 

3、$ZCONVERT()関数を使用してコードを変換

USER>write $ZCONVERT(reco,"I",TranslateTable) // recoに対象文字列が含まれているとします
あいうえお
USER>
Comentarios (0)1
Inicie sesión o regístrese para continuar