User bio
404 bio not found
Member since Dec 12, 2019
Posts:
Replies:
Due to objective reasons, I cannot upgrade to IRIS.Can you give me an example of setting query timeout through JDBC in Ensemble2016.
thank you very much!
In IRIS as you said, but there is no such method in Ensemble2016, I use Ensemble2016
Certifications & Credly badges:
li has no Certifications & Credly badges yet.
Global Masters badges:
li has no Global Masters badges yet.
Followers:
li has no followers yet.
Following:
li has not followed anybody yet.
Thank you very much, but I am not using production.There is a setQueryTimeout method in the% Net.Remote.Java.JDBCGateway class of IRIS, but this method does not exist in Ensemble2016, what should I do?
The code in IRIS is as follows:
ClassMethod jdbc() As %String
{
#dim %JDBCGateway as %Net.Remote.Java.JDBCGateway
s SQLConName="INC0001"
s gc=$$GetJConnection^%apiGTW(SQLConName)
i gc="" QUIT "-1^"_$$$ERROR($$$GTWCConnectionError)
set myquery= "select top 1 * from SQLUser.OE_OrdTeeth"
"
q:myquery="" "-1^sql can't empty"
/// prepare sql
s command=$ZCONVERT($p(myquery," ",1),"U")
If (command["CALL") {
s sqlhstmt=%JDBCGateway.prepareCall(gc,myquery)
} else {
s sqlhstmt=%JDBCGateway.prepareStatement(gc,myquery)
}
if (sqlhstmt < 0) {
q "-1^"_%JDBCGateway.getErrorText()
}
s sqlerr=%JDBCGateway.setQueryTimeout(sqlhstmt,5)
if sqlerr<0{
q "-1^"_%JDBCGateway.getErrorText()
}
s sqlerr=%JDBCGateway.execQuery(sqlhstmt)
if sqlerr<0{
q "-1^"_%JDBCGateway.getErrorText()
}
/// dump result
s colcount=%JDBCGateway.getColumnCount(sqlhstmt)
s hasdata=%JDBCGateway.next(sqlhstmt)
while hasdata = 1 {
s tpseudoid=%JDBCGateway.getString(sqlhstmt,1)
s hasdata=%JDBCGateway.next(sqlhstmt)
} //matches while hasdata
d %JDBCGateway.removeResultSet(gc)
q
}