SQL Assistant uses ODBC (Microsoft Open Database Connectivity) and Teradata Studio Express uses JDBC (Java Database Connectivity). SQL Assistant/ODBC doesn’t time out after inactivity (not running queries) but Teradata Studio Express/JDBC does after about 60 or so minutes of inactivity (not running queries), and it doesn’t prompt you to renter your password, it just displays a meaningless message . If you haven’t realized your JDBC connection has dropped you are prone to click to many times and then your profile gets LOCKed.
If you do realize your connection has dropped, you have to shut Teradata Studio Express down and restart to get a prompt for password.
So, this tells me ODBC does not have a timeout for inactivity but JDBC does, and JDBC doesn’t make a clean disconnect and it gets hung up on trying to make the connection back and it un CACHEs your password or something and causes all the problems.
Has anyone experienced this with Teradata Studio Express ? What would cause the JDBC to timeout and ODBC does not ?
The Teradata JDBC Driver does not have any kind of idle connection timeout.
The Teradata JDBC Driver offers only two kinds of timeout: (1) Login timeout, and (2) Query timeout. Both of those kinds of timeout are turned off by default, and must be explicitly enabled by the application. Neither of these would cause your connection to be logged off due to inactivity.
The most common cause of idle connection timeout is due to rules specified in Viewpoint to log off idle sessions.
Studio Express had some issues with handling of database connection timeouts. These have been fixed in the latest version, 16.10.1. It will prompt you for the password to reconnect once the connection has timed out. I don't think the database timeout is a JDBC vs ODBC issue but something that is set in the database configuration. It could be that SQL Assistant is handling the timeout without informing the user.
The Teradata dbms does not have a 'time out' feature.
What I have seen at a couple of customer sites is that they have implemented a process which detects a session being idle for 'too long' and the session is then logged off.
Teradata studio connects two sessions when you logon. (I think) One is used for the queries that you type in and run, the other is used for 'background stuff' (yeah I know, technical description) like fetching dictionary object information. Once logged on, unless you use certain features in Studio then that 'background' session does nothing and gets logged off by their processing.