首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >笑声连接PID-2

笑声连接PID-2
EN

Stack Overflow用户
提问于 2016-12-01 00:39:31
回答 1查看 163关注 0票数 0

我有一个PID-2的源转换,我需要填充外部ID。但此ID位于另一台服务器上的另一个SQL server数据库表中。有没有代码可以用来检索和填充这个字段。

我有这个,但我知道还有更多的事情需要做:

代码语言:javascript
复制
var strConn = "driver={sql server};server=servername;database=database;uid=us ername;password=password"; 
var strQuery = "SELECT INTERNALID FROM EXTID where msg['record_number'].toString() = INTERNALID"; 

var cnt = result.size();    //get the number of rows returned in the query 
for (i = 0; i < cnt; i++) 

{     //loop it up 
    result.next();      //go to the first row 

    var INTERNALID = result.getString(1); 
} 

我尝试做的是在目标HL7文件上附加PID-2,其中主机服务器上的record_number等于外部sql server上的记录数。我的结果应该插入到tmp‘’PID‘’PID.2.1‘中

因此,代码应该查看PID-3中的"record_number“,并在SQL server上获取相应的ID (INTERNALID),并将其附加到我的目标文件中的PID-2。

EN

回答 1

Stack Overflow用户

发布于 2016-12-06 04:32:49

您需要创建一个DatabaseConnection对象来执行查询并获取结果。

代码语言:javascript
复制
var dbConn = DatabaseConnectionFactory.createDatabaseConnection('driver', 'address', 'username', 'password');

然后可以执行参数化的数据库查询,如下所示

代码语言:javascript
复制
var paramList = new java.util.ArrayList();
paramList.add(msg['PID']['PID.3']['PID.3.1'].toString());
var expression = "SELECT internal_id FROM your_table WHERE record_number = ?";
result = dbConn.executeCachedQuery('expression', paramList);

从那里开始,如果您只想抓取第一行,那么可以执行以下操作

代码语言:javascript
复制
if (result.next()) {
    var internalID = result.getString(1);
}

我对您的列名等做了一些假设,但工作流程应该是类似的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40893624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档