Louis是一位
多产的博主
Recap 2022
发布:
5文章
1translation
15评论
热门帖子:
206
触达人数
用户个人简介
404 bio not found
会员起始日期:三月 1, 2016

如果是运行在IRIS下,可以参考使用JSON Adaptor,详细文档可以参考这里

比如要使用包含下划线_的字段,可以使用%JSONFIELDNAME  定义

更多有关%JSON.Adaptor 类定义可以参考这里

使用Python Binding,参见文档 https://cedocs.intersystems.com/ens20162/csp/docbook/DocBook.UI.Page.cls?KEY=GBPY_intro

    例如一些基本的操作:

    • 创建数据库连接
         conn = intersys.pythonbind.connection()
         conn.connect_now(url,user,password, None)
         database = intersys.pythonbind.database(conn)
    • 打开存在的对象
         person =  database.openid("Sample.Person",str(id),-1,-1)
    • 创建新的对象
         person =  database.create_new("Sample.Person", None)
    • 设置对象属性或者取值
         person.set("Name","Doe, Joe A")
         name = person.get("Name")
    • 运行一个方法
         answer = person.run_obj_method("Addition",[17,20])
    • 保存对象
         person.run_obj_method("%Save",[])
    • 获取保存对象的id 
         id = person.run_obj_method("%Id",[])
    • 执行一个查询 
         sqlstring ="SELECT ID, Name, DOB, SSN \
                     FROM SAMPLE.PERSON \
                     WHERE Name %STARTSWITH ?"
         query = intersys.pythonbind.query(database)
         query.prepare(sqlstring)
         query.set_par(1,"A")
         query.execute();
         while 1:
            cols = query.fetch([None])
            if len(cols) == 0: break
            print cols

    同时可以在安装目录的/dev/Python/samples/ 下查看更多例子,比如

    • CPTest6.py — Process the result set of a ByName query.
    • CPTest7.py — Process the result set of a dynamic SQL query.

    可以通过下面网址直接打开SOAP 向导页:

    {serverurl}/isc/studio/templates/%25ZEN.Template.AddInWizard.SOAPWizard.cls?Namespace={namespace}

    比如:http://localhost:52779/isc/studio/templates/%25ZEN.Template.AddInWizard....

    也可以在VSCode里添加用户自定义的快捷键:

    "objectscript.conn": {
        "links": {
            "Portal Explorer": "${serverUrl}/csp/sys/exp/%25CSP.UI.Portal.ClassList.zen?$NAMESPACE=${ns}",
            "SOAP Wizard": "${serverUrl}/isc/studio/templates/%25ZEN.Template.AddInWizard.SOAPWizard.cls?$NAMESPACE=${ns}"
        },
    }

    参考文档:https://intersystems-community.github.io/vscode-objectscript/configuration/#server-actions-menu

    另:BPL,DTL一般直接在浏览器中进行编辑,完全不需要VSCode。

    关注者:
    正在关注:
    Louis 尚未关注任何人。
    Global Masters 徽章: