As of December 1, 2020, Focal Point is retired and repurposed as a reference repository. We value the wealth of knowledge that's been shared here over the years. You'll continue to have access to this treasure trove of knowledge, for search purposes only. Moving forward, myibi is our community platform to learn, share, and collaborate. We have the same Focal Point forum categories in myibi, so you can continue to have all new conversations there. If you need access to myibi, contact us at myibi@ibi.com and provide your corporate email address, company, and name.
We're currently running into a server issue where it is possible to connect to the server using iWay Client, but subsequent queries using that connection hang indefinitely. This means that a lot of resources are taken up by open connections that don't go anywhere, and it would be handy if there was a way to shut them down. Is there a way of setting up the connection so that a query can be forced to time out after a set time ?
search for a file on your server called -'edaprint.log', search for the string '(foc', this will show you foc errors ..... you could have a rouge focexec causing your server to hang. if your unable to figure this out, your could email me the edaprint.log file to wltorres@yahoo.com. Happy Computing to you!!
I'm not sure if we're on the same wavelength here: the problem is not that we don't know why the server has become unavailable, it's that the unavailability of the server causes client connections to hang. It's the latter that we're trying to handle so that it doesn't cause a massive headache client-side.
Sorry to bump this thread, but we still have the same problem as more than half a year ago.
The current status is as follows :
We have an ASP.NET web application that displays data accessed through the iWay adapter, using the iWay 76 Client ODBC Driver. Unfortunately if the data warehouse server is down when a call on it is made through the iWay adapter, then the call hangs indefinitely. Our technical Focus support team have investigated if there is a time-out setting on the iWay adapter, but say that there isn't one. Is there anything simple that can be done to either set a time-out, or kill the connection if it hangs?
Here is some .Net code that shows how to make sure the connection is closed. just change it to use the IWAY Adapter
Using (OleDbConnection connection = new OleDbConnection(
"Provider=MSDataShape;Data Provider=SQLOLEDB;" +
"Data Source=localhost;Integrated Security=SSPI;Initial Catalog=northwind"));
{
OleDbCommand custCMD = new OleDbCommand(
"SHAPE {SELECT CustomerID, CompanyName FROM Customers} " +
"APPEND ({SELECT CustomerID, OrderID FROM Orders} AS CustomerOrders " +
"RELATE CustomerID TO CustomerID)", connection);
connection.Open();
OleDbDataReader custReader = custCMD.ExecuteReader();
OleDbDataReader orderReader;
while (custReader.Read())
{
Console.WriteLine("Orders for " + custReader.GetString(1));
// custReader.GetString(1) = CompanyName
orderReader = (OleDbDataReader)custReader.GetValue(2);
// custReader.GetValue(2) = Orders chapter as DataReader
while (orderReader.Read())
Console.WriteLine("\t" + orderReader.GetInt32(1));
// orderReader.GetInt32(1) = OrderID
orderReader.Close();
}
// Make sure to always close readers and connections.
custReader.Close();
}
If you start the connection in ASP.net then it can make sure it is closed.
We ran into this doing the same call to the Iway adapter you are doing and the issue went away.
IWay SM 5.6, 6.01, 6.1, 6.9, 7.0 EDI, XML, XSD, WF 8.0, DM 77,8.0 asp.net, SQL Server
Sorry for the late reply. I'm acting as a conduit for colleagues who don't have access to this forum, and they're currently investigating the suggested options. I hope to be able to give feedback soon.