This document describes how to prepare and define an EXCEL data source in order to connect to it using the Intersolv/Merant ExcelWorkbook ODBC driver. It is a supplement to the connection information found in the "Connecting to your database" manual provided with the PowerBuilder documentation. To prepare an Excel Data source for use within PowerBuilder
In order for PowerBuilder or InfoMaker to access an Excel data source, the Excel file must be a database. An Excel database is an Excel XLS workbook file that contains one or more named lists. An Excel list is a labeled series of worksheet rows that contain similar information (table). When you use an Excel workbook as a database, each list is analogous to a database table, the list rows correspond to database records, and the list columns correspond to database fields. When you connect to an Excel database in PowerBuilder or InfoMaker, the list names display in the Select Tables list in the Database painter. The first 'row' should be your 'column' names. Carefully look at all of the column headings that you intend to import into the database. SQL rules of column names are more strict than Excel. Therefore you need to modify all column headings to comply with the SQL standards. In most cases this involves removing any embedded blanks and non alphanumeric characters. For example the column name First...Name or First Name will cause errors. The column names should be changed to firstname or first_name. If you can not change the column or table names as suggested above, you can put DelimitIdentifier = 'YES' in the DBParm when you create a profile in PowerBuilder. Make sure your Excel workbook file contains one or more named lists. Your list name should follow standard SQL naming conventions. In order to define your list: In order to define your list, select (highlight) the rows and columns that are to be imported. Select Insert->name->define from the Excel menu bar to define the current workbook selection as a database table or type a name (uppercase) in the Name Field and hit < enter >. It is advised to always use all uppercase characters when naming tables and columns that you want to access in PowerBuilder and InfoMaker and avoid using database-specific reserved words. To define an Excel data source for the Intersolv/Merant ExcelWorkbook
In PowerBuilder select the Configure ODBC toolbar item. If this is not on your Toolbar, press on the right mouse button on the powerbar, click on customize and drag the ODBC toolbar item down to the current toolbar. Once you click on the configure ODBC toolbar you will get a dialog box containing the installed ODBC drivers. Scroll down the list and select the Intersolv or Merant ExcelWorkbook and click the Create command button You will be presented with another dialog box. Give your data source a name and enter the full path for the excel database file in the Database workbook including the excel database file. Then click on the DB Profile toolbar. Select the Excel profile. It will display a window with title 'Choose an Excel Workbook as database'. Select the Excel workbook where you have saved your table, click "Open" and connect to the newly created excel data source. Click on the database icon and you should see your saved excel spreadsheets as tables. If there are no tables in the list:
Make sure the directory where the spreadsheets are located is set correctly in the ODBC datasource. Makes sure you highlighted the rows and columns in the spreadsheet. Makes sure you followed the above described instructions on how to create one or more lists in your workbook. Common Error messages
Cannot open workbook nnnn.xls , OLE error code (32) Excel is still open, close Excel and you should be able to connect. Select error : SQLSTATE = S1000 [INTERSOLV] [ODBC EXCEL DRIVER]
Cannot open workbook nnnn.xls , OLE error code (80) The Excel file was created with a previous version of Microsoft excel. You should update it to current MS Excel format. Select error : SQLSTATE = S0002 [INTERSOLV] [ODBC EXCEL DRIVER]
the table nnnn was not found in the workbook nnnn
Table names do not comply with the SQL standards. Use uppercase characters to name your table OR set DelimitIdentifier = 'YES' in the DBParm, in the database Profile for your Excel connection. Do not use database-specific reserved words (eg: Naming an excel table 'DATABASE'). Select error : SQLSTATE = S0022 INTERSOLV] [ODBC EXCEL DRIVER]
Field not found: nnnn
Column names do not comply with the SQL standards. Change them to follow the SQL standards OR set DelimitIdentifier = 'YES' in the DBParm, in the DataBase Profile for your Excel connection. table nnnn has no columns, possible invalid table format
Intersolv driver does not recognize input as a valid Excel file. |