Accessing ODBC data sources from ColdFusion
This article explains how to use ColdFusion with the Easysoft JDBC-ODBC Bridge. You can then access databases and files such as Microsoft SQL Server, Microsoft Access, Microsoft Excel, and ISAM from ColdFusion.
If you have not yet done so, install the JDBC-ODBC Bridge. For installation instructions, refer to the JDBC-ODBC Bridge documentation. Then follow these instructions to add EJOB.jar (the JDBC-ODBC Bridge client JDBC driver) to ColdFusion, so that it can be accessed by ColdFusion applications:
- Open the ColdFusion Administrator in a browser:
http://server_name/cfide/administrator/index.cfm
where
server_nameis the name of the machine on which the ColdFusion Administrator is running. - Choose SERVER SETTINGS > Java and JVM.
- In the Class Path box, enter the location where
EJOB.jaris installed. For example,/usr/java/libon UNIX and Linux orC:\Program Files\Java\Libon Windows. - Choose Submit Changes and restart the ColdFusion server:
To restart the ColdFusion server on UNIX or Linux:
/opt/coldfusionmx/bin/coldfusion restart
Note that you need to be the root user to do this.
To restart the ColdFusion server on Windows, in Windows Services, right-click the ColdFusion service, and choose Restart.
- After the server has restarted, choose DATA > SERVICES > Data Sources. In the Add New Data Source box:
- Enter a name in the Data Source Name field.
- Choose Other from the Driver drop-down list box.
- Choose Add.
- In the Data Source box, enter the following to add the data source:
Setting Value CF Data Source Name Enter a name for the DSN. To use the sample application shown later in this tutorial, name the DSN Easysoft. JDBC URL Enter a connection URL. Driver Class easysoft.sql.jobDriverDriver Name Easysoft SQL JOB driverYou only need to supply a Username and Password if they are not included in your JDBC connection URL.
- After you have completed the data source details, choose Submit.
To test the data source, create a ColdFusion application that uses the Easysoft JDBC-ODBC Bridge to retrieve some data. The following ColdFusion examples use a JDBC-ODBC Bridge data source to retrieve and display data from the
Supplierstable in the Microsoft Access Northwind database. - Create a ColdFusion page named
easytest.cfmunder theweb_rootorweb_application_rootdirectory, and add these lines:<cfscript> obj = createObject("component", "easytest"); getRecords = obj.GetNorthwind (); </cfscript> <p><b>Selecting records from the Suppliers table in Northwind via the Easysoft JDBC-ODBC Bridge</b><p> <table cellpadding="5" cellspacing="0" border="1"> <tr> <th>SupplierID</th> <th>CompanyName</th> <th>ContactName</th> <th>ContactTitle</th> <th>Address</th> <th>City</th> <th>Region</th> <th>PostalCode</th> <th>Country</th> <th>Phone</th> <th>Fax</th> <th>HomePage</th> </tr> <cfoutput query="getRecords"> <tr> <td>#getRecords.SupplierID#</td> <td>#getRecords.CompanyName#</td> <td>#getRecords.ContactName#</td> <td>#getRecords.ContactTitle#</td> <td>#getRecords.Address#</td> <td>#getRecords.City#</td> <td>#getRecords.Region#</td> <td>#getRecords.PostalCode#</td> <td>#getRecords.Country#</td> <td>#getRecords.Phone#</td> <td>#getRecords.Fax#</td> <td>#getRecords.HomePage#</td> </tr> </cfoutput> </table> - Create a ColdFusion component file named
easytest.cfcin the same directory aseasytest.cfm, and add these lines:<cfcomponent> <cffunction access="public" name="GetNorthwind" output="false" returntype="query"> <cfset var artistsQuery=""> <!--- Create a data source named Easysoft that ---> <!--- points to a System ODBC DSN for the ---> <!--- Northwind Access database ---> <cfquery name="EasysoftTest" datasource="Easysoft"> Select * from Suppliers </cfquery> <cfreturn EasysoftTest /> </cffunction> </cfcomponent>