Informix vs SQL Server questions
Posted in 1996
Topics: SQL Development & Query Writing, Stored Procedures & SPL, Connectivity: ODBC / JDBC / .NET, Data Types & Schema Design, Triggers, Constraints & Referential Integrity, Networking & sqlhosts Configuration
Hello, We currently have a large Visual Basic application which uses a Microsoft SQL Server back end (4.2 or 6.0) via ODBC. We are considering porting the app to use an Informix back end for a certain client and I'm trying to get a feel for how difficult this might be. We would probably want to use Informix Workgroup Server for NT version 7.1 for development but the client may end up by using something different, possibly OnLine Dynamic Server. I assume that this shouldn't be a problem. Also, I assume that we should have no problem with establishing an ODBC connection from a Windows operating system to either of these Informix databases over TCP/IP. Here are some questions/concerns that we've had when considering porting the app from SQL Server to other RDBMS's. Remember, we'd need to do this stuff through ODBC: 1) Does Informix support outer joins? How about outer joins to multiple tables? (DB2 didn't do this, at least not easily). Can we use ODBC syntax for this? (SQL Server had a problem with using the ODBC syntax when outer joining multiple tables). 2) I see that Informix provides stored procedures and I'm sure that these can pass back return values. However, can stored procedures return sql result sets? For example, can we call a stored procedure and get back results just like as if we had issued a sql select statement? Is there a problem with creating temporary tables in the stored procedures (just for the life of the procedure)? 3) Does Informix provide a data type similar to SQL Server's TEXT type which can store a large text string (32K or so would be fine)? Can this field be searched on with LIKE searches? Are there any special restrictions with including these fields in a select statement or a where clause? (We had some problems with Oracle on this issue). 4) I see that Informix supports insert, update and delete triggers. We make extensive use of these in SQL Server. Do you know of any differences between SQL Server's triggers and Informix triggers that we should be concerned with? 5) We make extensive use of views in SQL Server. We create views which bring in multiple tables and then we assign access rights to the view. Are there any big differences between how SQL Server and Informix handle views? 6) From what I can tell from what I've read, Informix can assign access rights for a user at the table level (and select rights at a column level). I didn't see anything mentioned about groups. In SQL Server we have assigned table access rights to particular *groups*. Then we assign users to that group to gain access to the tables which that group has rights to. Does Informix support this scenario? Thanks for any advice you can give us on any of these questions. Jay Sullivan Economic Analysis Group, Ltd. jsulliva@eag.mhs.compuserve.com