How to connect to a legacy Informix database? - informix

I have to connect my app to a customer's Informix 7.2 legacy database.
From what I was able to find out, in theory there should be a database service running on port 50000. The problem is that I cannot find any database service in the Operative System.
So far I'm only able to use dbaccess and perform queries from the command line.
I would like to use a database driver (such as http://code.google.com/p/ibm-db/) so my app can connect and query the database using a cursor, but since I cannot find any database service, apparently I can't...
Am I missing something here? Are there options I'm not considering?
Is it possible to have an Informix database in which the only interface is dbaccess?

See connection strings for Informix

If you use Python you can look at: Python wiki but I would like to extend it a little.
If you work on Windows and have Client SDK then there should be ODBC driver installed on your machine. There is also Linux and other unix versions of such client software. If you install that you can use ODBC to connect to database. On Windows you can use Active State Python 2.6 with win32 extensions which has odbc module included. On other Python implementations you can use win32 extensions or other ODBC module such as mxODBC.
I work also with Jython where I use both JDBC and ODBC drivers. You can see this "in action" in my SO questions like: Problem with Informix JDBC Money format

BTW, if you want to connect to a remote legacy Informix database using Python from a Mac, pypyodbc-informixcsdk could be your only (free) choice. Check this wiki.
On a Windows box, pyodbc + Informix Client SDK + ODBC do the job nicely.

Related

Connect to a ODBC DSN installed on a server

I am developing an application in Delphi 10.2.3 which connects to a Firebird database installed on a machine running Windows 2016 Server. The application also connects to QuickBooks Online using a third party ODBC driver. Since this application must be accessed by 12+ users in my company, it will not be cost effective to purchase and install individual ODBC drivers for each user.
The provider of the ODBC driver has a version which can be installed on a server. Is it possible to configure an ODBC DNS connection on the server which I can access from network clients? If not, can anyone suggest a workaround.
Server vs Workstation ODBC driver usually has to do with licensing not connection method. It is always running on the same machine as the software using the connection.
Web application used by many users running on a server connecting through an ODBC driver = server licensed version of the driver.
User loading data into Excel on their computer through an ODBC driver
= client / workstation licensed driver.
Some databases, for example SQL Server, can do a database link through an ODBC driver. This is linking / exposing another database to querying from a host database server. This would allow you to share one server licensed driver. The clients would connect to the host database.
One such driver is DevArt's ODBC Driver for QuickBooks which has a help topic on creating a linked database and testing it in SQL Server Management Studio / SQL Server: Using in Microsoft SQL Server Management Studio (SSMS). Might not be applicable if each user needs to use different credentials for the QuickBooks connection.

DBX Error in Delphi Berlin 64bit compiler: Driver could not be properly initialized. When connecting to a Oracle 12c DB Server

I got the stopper error below in my apps. I used Delphi Berlin 64bit compiler. And also used the dbxora.dll as dbxpress driver default from embarcadero. Connected to Oracle 12c DB server using TSQLConnection component.
DBX Error: Driver could not be properly initialized. Client library may be missing, not installed properly, of the wrong version, or the driver may be missing from the system path.
How can I fix this?
A DB Express driver is not always sufficient on it's own to connect to some data sources. For certain data sources (most of them in fact) you also require the client drivers for that data source, usually provided by the database vendor themselves.
Oracle is one of these.
As well as the DB Express driver you also need to install the Oracle Client software provided by Oracle. You also need to ensure that you install the correct version.
i.e. in your case since you indicate you are building a 64-bit application then you will need the 64-bit Oracle client.
If you (or your intended users) already have the 32-bit Oracle client installed then you might consider building your application as a 32-bit application instead, unless you absolutely need 64-bit capabilities.

Pervasive SQL v.11 ODBC Client Interface

I have Pervasive PSQL v.11 server but no PervasiveClient Interface driver on it. I looked for answer and what i found is to install Pervasive Client on server but i am afraid that it may mess the server or configuration. So I am looking for any way to install that driver without installing client application.
When you install the Pervasive Server, it installs the client as well. You should have the Pervasive Client Interface. Make sure you are using the 32 bit ODBC Administrator. It is located in the %systemdrive%\windows\syswow64\odbcad32.exe. The ODBCAD32.EXE in %systemdrive%\Windows\System32 is 64 bit. I know it seems backward but that's how Microsoft did it.
If you are seeing just the "Pervasive ODBC Interface", you are using the 64 bit ODBC Administrator.
Another option would be to use the Pervasive Control Center. It can create the 32 bit DSN when creating the database. It also has menu options (under Tools) for the 32-bit and 64-bit ODBC Administrator.

Do I need FreeTDS to use TinyTDS under Windows?

I'm trying to connect to SQL Express from a Rails app, and I've installed the TinyTDS gem. I keep getting an error:
--------------------
Unable to connect: Adaptive Server is unavailable or does not exist
--------------------
Everything I find on Google relates to FreeTDS. Do I need it in order to use TinyTDS on Windows? The TinyTDS github page says it requires it but it makes no mention of Windows.
Do I need drivers or something else? I already isntalled the 'activerecord-sqlserver-adapter' gem.
If I do need FreeTDS, where do I get it?
There is a binary version of Tiny_TDS that is installed on Windows when you install this gem. This includes FreeTDS, so there's no need to install it separately. Only time you have to worry about FreeTDS on Windows is if you want to work with SQL Database on Windows Azure, which requires you to manually build FreeTDS.
There's a couple things that could go wrong that might cause a connection failure:
SQL Express doesn't install a default instance, but instead installs a 'sqlexpress' instance. Maybe try connecting to 'servername\sqlexpress'.
SQL Express may not allow network connections. If you're trying this over the network you may have to enable networking.
TCP/IP and named pipes may not be enabled. I think Tiny_TDS uses TCP/IP.
SQL Express might be using a dynamic port rather than the expected 1433, so maybe check ports.
Here's an article that might help:
http://blogs.msdn.com/b/sqlexpress/archive/2005/05/05/415084.aspx.

How to run a win32 native application that requires sql server native client on MacOSX with winebottler?

I am experimenting with WineBottler and I would like to try to run my win32 native application written in Delphi on OSX.
The application runs, but I stop at login screen since I cannot connect to SQL Server.
Does anyonw know how to install and configure SQL Server native client on OSX so that it is usable with WineBottler?
Note: I put "wine" as tag since "winebottler" is not available.
I have a Delphi application that uses MDAC 2.8 for ADO connection to the Jet provider. I use Winetricks to install MDAC 2.8, and it works great. If you can't get SQL Server Native Client to install, perhaps your application can use the OLEDB SQL Server provider by tweaking your connection strings. Are you using any features that are only in SQL Server Native Client?
You would have a lot less trouble if you put in some middleware like kbmMW, Remote Objects, or DataSnap. All of them can use plain TCP/IP (via http or like higher level protocol), and don't require client side libs. You will need an extra server, but it is easy to create one that just forwards your SQL and data between clients and SQL server. Note that SQL server licensing remains.
On the other hand, you can try to install SQL Server native client, some older version of it - eg. for SQL Server 2005, in that "bottle" with your application. Yet, I'm not sure if that is legal thing to do. I think that MS prohibits native client installation on OS other than Windows.
There is FreeTDS native client that works with MSSQL from unices, but it is not ported to be usable from Delphi (like dbx driver).

Resources