mirth connect - почтовый запрос БД выполняется только после проверки статуса отправки предварительного запроса - Ошибка/отправлено? Требуется совет

По сути, я новичок в mirth connect. Пожалуйста, дайте мне совет по этому поводу.

Когда я использую что-то подобное в сценарии Run Post-Process:

try {
  dbConn = DatabaseConnectionFactory.createDatabaseConnection('com.mysql.jdbc.Driver','jdbc:mysql://localhost:3306/mirth','XYZ','XYZ');

  a =$('his_user_id');

  responseStatus=Response.getStatus();

  loger.info(responseStatus);

  if(responseStatus == SENT) {
    var result = dbConn.executeUpdate("UPDATE his_user SET status =0 where id"+a);

    return result;
  }
} 
finally {
  if (dbConn) { 
    dbConn.close();
  }
}

Я получаю следующую ошибку:

КОД ИСТОЧНИКА:

53: var dbConn;54: 55: попробуйте {56:

dbConn = DatabaseConnectionFactory.createDatabaseConnection

('com.mysql.jdbc.Driver','jdbc:mysql://localhost:3306/mirth', 'root','root');57: a =$('his_user_id');58: responseStatus=Response .getStatus();59: loger.info(responseStatus);60: if(responseStatus == SENT)61:

{62: НОМЕР ЛИНИИ: 58ДЕТАЛИ:

Класс Java "com.mirth.connect.userutil.Response" имеет

нет общедоступного поля экземпляра или метода с именем «getStatus». по телефону 0462ff2d-8942-4898-9afb-802bfe68a63d:58

(doScript) по адресу 0462ff2d-8942-4898-9afb-802bfe68a63d:74


Это мой сценарий предварительной обработки в db Writer.

var dbConn;
try {
  dbConn = DatabaseConnectionFactory.createDatabaseConnection('com.mysql.jdbc.Driver','jdbc:mysql://localhost:3306/mirth','root','root');

  var result = dbConn.executeCachedQuery("SELECT his_user.Id AS his_user_Id, his_user.His_username AS his_user_His_username, his_user.His_useraddress AS his_user_His_useraddress, his_user.status AS his_user_status FROM his_user where his_user.status='1'");

  return result;
} 
finally {
  if (dbConn) { 
    dbConn.close();
  }
}

person Shuhaib Kovval    schedule 23.04.2018    source источник


Ответы (1)


Измените свой dbConn, чтобы использовать его вместо этого, и он должен работать...

импортпакет(java.sql);

var dbConn= java.sql.DriverManager.getConnection('jdbc:jtds:sqlserver://localhost:1433/dbname','user','pass');

Если вам не хочется менять dbConn, вы можете обойти это, заменив "dbConn.prepareStatement" на "dbConn.getConnection().prepareStatement". Если это не сработает, вам также может понадобиться включить «importPackage(java.sql);» в начале вашего кода трансформатора.

person Shuhaib Kovval    schedule 25.04.2018