1.0 Introduction
2.0 Supported software and specifications
3.0 Limitations
3.1 Must be online to generate Java Bean or EJB method from a stored procedure
4.0 Known problems
4.1 Database models
4.2 SQL queries
4.3 Database connections
4.4 SQL DDL
4.5 Error reporting
4.6 Running sql statements creates incorrect tables in Oracle
4.7 Data Export
4.8 Renaming folders in database project
4.9 SQL Comments
4.10 Check in and check out SQL Statements before opening them in the SQL Builder
4.11 Do not immediately add newly created SQL Statements to version control
4.12 Editing Java stored procedures
4.13 DBCS data gets truncated when connecting to DB2/390 (CP930)
4.14 Changes lost when closing editor of read-only document
4.15 Schema object identifiers missing quotes for non-english locales
4.16 Connecting to a DB2 server
4.17 Dropping Java stored procedures from DB2 Version 8 is not supported when using DB2 Version 7 client
4.18 Manually changing the returned SQL data types for DB2 table UDFs
4.19 Problems with Sequelink 5.1 shipped with WebSphere Studio
4.20 DataDirect Sequelink 5.3 Driver
4.21 WebSphere Application Server - Express examples SQL files may contain errors but can be executed successfully
4.22 Problems retrieving tables from Microsoft SQL Server
4.23 Problems connecting to Cloudscape 5.1
4.24 Error message while moving/renaming/deleting JDBC jar file
4.25 Duplicate schema nodes will appear when importing, deleting, or re-importing EJB JAR files
4.26 Corrupted Arabic error messages during relational data export
The relational database tools in WebSphere Studio allow you to connect to databases, browse or import database designs, design new databases using wizards, export new designs to your database, create and execute SQL queries using the SQL Builder, create and execute DB2 stored procedures as well as DB2 user-defined functions. The relational database tools are accessed through the Data perspective Data Definition and DB Servers views.
The relational database tools support connecting to and importing from the following database types:
- SQL 92, 99
- Cloudscape 5.0.4
- DB2 UDB 6.1, 7.1, 7.2, 8.1
- DB2 UDB for iSeries 4.5, 5.1
- DB2 UDB for OS/390 6, 7
- DB2 UDB Express Edition 8.1
- Oracle 8i 8.1.7
- Oracle 9i 9.0.1
- SQL Server Enterprise 7.0 SP2
- SQL Server Enterprise 2000
- Sybase Adaptive Server Enterprise 11.9.2, 12, 12.5
- Informix Dynamic Server.2000 9.2
- Informix Dynamic Server 7.3, 9.3, 9.3.1
- MySQL 3.23
- InstantDB 3.26
SQL support in the SQL wizard and SQL query builder is dependent on the level of support provided by your database vendor.
Fullselect support:
Joins support:
- Applicable for DB2, Oracle, Cloudscape and Sybase only.
- For DB2, the Union, Union All, Except, Except All, Intersect, and Intersect All operators as well as values clauses are supported.
- For Oracle, the Union, Union All, MINUS and Intersect operators are supported
- For Sybase, the Union and Union All operators are supported.
- For Cloudscape, the Union, Union All, as well as values clauses are supported.
Grouping query results support:
- DB2: inner joins, left outer joins, right outer joins, full outer joins
- Oracle: inner joins, left outer join and right outer joins. The syntax for left and right outer joins is consistent with the Oracle "+" syntax in the where clause.
- Sybase, Cloudscape and MySQL: inner joins, left outer join and right outer joins.
Cast expression support:
- DB2: Group By, Rollup, Cube and Grouping Sets
- Oracle: Group By, Rollup and Cube
- Sybase: Group By
- Cloudscape: Group By
- DB2 - CAST expression AS expression
- MS SQL Server - CAST expression AS data_type
- Oracle - TRANSLATE is unsupported
On Linux, you may experience a crash when connecting to DB2 Universal Database for iSeries V5R1 using the AS/400 Toolbox for Java JDBC Driver. The problem occurs when you enter an incorrect password or leave the password field blank. Should this happen, restart the product and connect again using the correct password.
To use the wizards that enable you to generate a Java Bean or generate an EJB method from a Stored Procedure, you must be working online.
- There is currently no support for modeling indexes, check and unique constraints, triggers, structured types, or identity columns.
- The relational database tools do not support check options on views.
- Unnecessary brackets in query statements will cause parser errors.
- The use of parentheses in query WHERE condition clauses is currently unsupported.
- Large SQL files may slow down the editor.
- For Oracle, update statements must assign values to columns individually without the use of bracketed groups. Add columns individually and to add a value using a subquery, use the "Build Expression" option in the Value table cell combobox to create a query expression for the column.
- Modifications to database objects used by a statement may cause the SQL Builder to fail because it can no longer parse the statement successfully against the local data model.
- Editing a view and then opening a statement which contains the view may cause unexpected workbench shutdown.
- If a database connection is forced off outside of WebSphere Studio connection will not be prompted on statement execution. Re-import the database to the project from the DB Servers view to restore the connection.
- A query cannot be created using a view that is derived from a user-defined function.
- Drag and drop of database objects is only supported from the Data Definition view not the DB Servers view.
- If you import a DB2 UDB or DB2 for iSeries table with a column of type DATALINK, the link control options for the column will not be imported. The DATALINK length will default to 200, and the link options will default to NO LINK CONTROL. You can update these properties in the table editor after importing the table to the Data View.
- Removing multiple connections in the DB Servers view does not always work. If you encounter such a problem, you can either keep your connections or proceed to remove them one at a time.
- Character string data types may not be imported properly for connections to iSeries servers. The types CHAR FOR BIT DATA, VARCHAR FOR BIT DATA, and LONG VARCHAR FOR BIT DATA may be imported without the FOR BIT DATA options. In these cases, use the table editor in the Data perspective to edit the affected columns.
- Schema object names that contain DBCS characters may not be imported properly from iSeries. Delimited identifiers may be missing quotes. In these cases, use the table editor to edit the column and constraint names.
- Identifiers for primary key constraints are not imported for OS/390 connections.
- Column default values that are stored procedures, functions, or defined with an identity clause are not imported properly and can result in non-ASCII characters in a table document. The non-ASCII characters cause problems while loading the document. When this happens it is necessary to hand edit the problem tblxmi document and remove the default tag and value.
- When using the WebSphere Connect JDBC driver for connections to a SQL Server database, you typically need 3 jar files to specify the class location. We recommend that you combine these jar files into a single jar file. Otherwise, when the wizard is reopened after making a connection, it will be abnormally large. This is due to the length of the Driver location field.
- When creating a new database connection from a DB2 Version 8 client, if you want to use the IBM DB2 NET DRIVER JDBC Driver, you must add these two JAR files to the Class location field: <DB2HOME>/java/db2jcc.jar and <DB2HOME>/java/common.jar (where <DB2HOME> is the directory where you have installed DB2). If you do not do so, you will get an error. Note: If you use the New Database Connection Wizard without adding these JAR files to your class location, the stored procedures will not be loaded. You must bring up the connection wizard again to enter the files in the Class location field.
- Schema and table meta-data may not be imported when using a DB2 UDB Version 8 client to connect to a Version 7 or earlier of DB2 on z/OS. To fix the problem, install DB2 for z/OS PTF UQ72081.
- You may encounter problems with importing or editing involving the Oracle long datatype.
- Extremely large SQL DDL files may slow down the editor.
- Extremely large SQL DDL files may cause out of memory exceptions during parsing or execution.
- Editing of Oracle scripts may display errors in the outline view of the editor. For example "CREATE SEQUENCE", "CREATE OR REPLACE TRIGGER", and "END" statements will show up as erroneous. However, you can still proceed to export these items to an Oracle server.
When you encounter an error during parsing of an SQL file, generally the problem is with the next token after the one reported by the error message. The error message is also displayed in the task list.
When a sql file is run on the Oracle database server, it is necessary to initially select to create the tables sequences and triggers. This is because WebSphere incorrectly interacts with Oracle by inserting extra spaces. Once the tables have been created, go to the Oracle server machine and edit the statement to take out the inserted spaces and add the command 'end;'. Then go back to WebSphere and run the sql statement on the server again, this time selecting the Alter statements and the insert statements.
- You can only drop existing artifacts in the back-end database/catalog by running Run on Server on SQL DDL scripts. On Data objects (for example, database, schema, table) if you wish to drop the existing objects, you should select Generate DDL from the pop-up menu, specifying to drop existing statements. On the generated SQL DDL script, select Run on Server from the pop-up menu. If the objects do not currently exist on the back-end database/catalog, choosing Export to Server on the data objects will be sufficient.
- Exporting certain statements to Oracle server may cause spacing in identifiers on the server. For example, a statement like so: CREATE OR REPLACE TRIGGER SET_TRANSACTIONS_TRANID BEFORE INSERT ON TRANSACTIONS FOR EACH ROW WHEN (NEW.TRANID IS NULL) BEGIN SELECT TRANSACTIONS_TRANID_SQ.NEXTVAL INTO :NEW.TRANID FROM DUAL; END;
After execution of this script against the server, the identifiers specified in the SELECT clause may appear differently, for example "TRANSACTION_TRANID_SQ.NEXTVAL" may appear like so "TRANSACTIONS_TRANID_SQ . NEXTVAL"
Changing the name of a folder within a project containing a database will break URI references in the database related files in the project and cause errors. If a folder must be renamed, all related references in the database related files must be changed. For example, the following reference exists in a table object file (with extension .tblxmi) and the database in the project is contained in the a folder called folder1:
<database href="folder1/Con1_VIDEOS.dbxmi#RDBDatabase_1"/>
If the folder name is changed to folder2 then this line must be altered to reflect this change:
<database href="folder2/Con1_VIDEOS.dbxmi#RDBDatabase_1"/>
SQL comments (lines preceded by a double dash: --) are not supported in the SQL builder.
If you are editing any SQL Statements (.sqx files) that are under version control, ensure that the statement is not open in the SQL Builder when you are checking them in or out. Check the file out (in the Navigator view) and then edit the statement. After you have finished editing the statement, save your changes, close the SQL Builder and check the file back in.
If you create a new SQL Statement and are prompted to add it to version control,do not do so. Make any changes necessary to the file using the SQL Builder, close the file, then add it to version control.
- If the project is a Java project, the editor shows a lightbulb icon in the marker bar at the first line of a Java stored procedure. You can ignore this marker. The marker will not cause problems when you build the Java stored procedure.
- The editor allows you to add breakpoints to the source code of a Java stored procedure. However, these breakpoints are ignored because the debugging of Java stored procedure is not yet supported.
Due to a JDBC limitation, when connecting to DB2/390 (CP930), some DBCS data gets truncated based on the data length of UTF-8 encoding. 10 SBCS Katakana characters can be received as 3 Katakana characters by a "SELECT" statement. The actual data stored in a table in OS/390 is '8182838485868788898A' in hexadecimal which is 10 Japanese Katakana characters (1 byte for 1 character). However, when using the JDBC driver with the default setting, the received query data shows only 3 characters ('efbdb1efbdb2efbdb3') as the valid 9 bytes string in UTF-8, which would be cut off from 'efbdb1efbdb2efbdb3efbdb4efbdb5efbdb6efbdb7efbdb8efbdb9efbdba' in the JDBC driver.
If a document is checked out, ie marked read only, while an editor is open on the document all pending changes will be lost when the editor is closed. Ensure a document is checked out before it is opened in an editor.
The JDBC catalog loader cannot determine whether a schema object identifier should be delimited for locales other than english. For identifiers that should be delimited, after import open the schema/table editor to rename the schema object. Refer to your database server documentation to determine when an identifier should be delimited.
- When connecting to DB2 Universal Database for iSeries, you must select the AS/400 Toolbox for Java JDBC Driver in the JDBC driver pull-down field of the New Database Connection wizard. For more information, see the help topic "Creating a JDBC connection using a DB2 Universal Database for iSeries driver."
- DB2 Universal driver for Linux, Unix, and Windows does not support Java and SQLJ stored procedures.
- Connecting from a DB2 v8 client to a DB2 v7 server on Linux, Unix, and Windows is not supported.
For other DB2 servers, see the online help for selecting JDBC drivers when making database connections.
If you are working with DB2 Universal Database Version 7 on your client workstation and connecting to DB2 Universal Database Version 8 on the server, you will be unable to drop Java stored procedures from the DB2 Version 8 server.
When you use the New SQL User-Defined Function wizard to create a DB2 table UDF, the wizard recommends SQL data types for the data returned for each column.
If the wizard is unable to map a corresponding data type for a column, or if you want to use a different returned data type for a column, open the generated UDF in the editor and change the data type manually.
WebSphere Studio includes a WebSphere branded version of the Sequelink 5.1 JDBC client in WS_installdir/runtimes/aes_v4/lib/sljc.jar. The WebSphere Studio relational database tools are not enabled to use this version of the client for JDBC connection. You may receive the error message:
IWAS0126E Problems encountered while trying to establish connection connection_name Reason: Connection was not established because the selected JAR file is not a WebSphere branded DataDirect client. Ensure the selected JAR comes from a WebSphere install.
when this JAR is specified in the JDBC class location field of the Connection wizard. A version of the client that the relational database tools are enabled to use is available from IBM Support.
WebSphere Studio Version 5.x includes a new version of the DataDirect Sequelink JDBC client. The DataDirect Sequelink 5.3 JDBC client can be found in the WS_installdir/runtimes/base_v5/lib/sljc.jar archive. Refer to the relational database tools documentation on how to connect to a database using the Sequelink 5.1 JDBC driver.
The SQL files in each WebSphere Application Server - Express example's Setup/databases project folder may contain erroneous parsing errors shown in the Outline view of the Data Perspective. However, The SQL files execute successfully using the "Run on database server" action as described in the examples README.html file.
- Using the DataDirect SequeLink 5.1, 5.3 or WebSphere Connect JDBC drivers, you cannot retrieve tables from Microsoft SQL Server Version 7 if you are not the owner of these tables. For example, if you own Table1 and Table2 on DatabaseA, and you specify in the Database Connection wizard to connect to DatabaseB, then only Table1 and Table2 will be shown even though these tables do not belong to DatabaseB, but are retrieved as the user ID used to connect is the owner of the tables.
- You also need to own the tables if you are using the DataDirect SequeLink 5.1, or 5.3 JDBC drivers to retrieve tables from Microsoft SQL Server 2000.
Multiple connect and disconnect actions using Cloudscape 5.1 may result in tables without columns in the DB Servers pane. Should you encounter this problem, restart WebSphere Studio.
JDBC jar files, ie the jar files specified in the class location field of the Connection Wizard, are locked for use in the current JVM session after the first time a connection is established. Attempts to rename/move/delete the jar files will result in the following error message: 'The process cannot access the file because it is being used by another process.' The file will be unlocked when the workbench shuts down.
Importing, deleting, and re-importing EJB JAR files (samples or otherwise) with either the Data Perspective or the J2EE Perspective open, or both, occasionally causes duplicate schema nodes to appear under the backend databases for that EJB JAR file. The entries are harmless, however, it is recommended that you shutdown and restart the perspective to remove the duplicate entries.
When exporting relational data to a UTF-8 UDB DB2 V7 database, using Arabic locale, you may experience corrupted error messages should errors occur. There is no workaround to this problem.
Return to the main readme file
(C) Copyright IBM Corporation 2000, 2003. All Rights Reserved.