Main JAR Packager Native JFC Technical Support What's New dbDE


Changes to the Database Development Edition


For information on new features for Visual Cafe for Java Database Development Edition, see the What's New.pdf or the Online Help.


I. Major Fix

II. Change in Getting Started Instructions

III. Additional Fixes

IV. Executing & debugging applets in Netscape Navigator

V. General Web Browser Information

VI. dbANYWHERE Server Issues

VII. Development Environment Issues

VIII. What's new and fixed in the Database Development Edition

IX. Instantiating Query Navigator in Master Detail scenario


I. Major Fix

We fixed an problem with optimistic concurrency whereby the result set was not in sync with the database. There was no data corruption in the database but the user did not see the refreshed data till Restart was pressed. This problem only occurred in the JDBC API that was included in Visual Cafe Database Development Edition 2.1.


II. Change in Getting Started Instructions

There is a correction to the instructions in the Getting Started manual. On page 6-17, under the heading entitled "Setting initial
record positions," step 8, add the following lines of code rather than the single line listed in the documentation.

DBA_registrationNavigator.restart();
DBA_registrationNavigator.insert();
Package_ID2.setText("780");
Number_in_Party.setText("0");
Total_Cost.setText("0");

Note: To complete the tour, Visual Cafe for Java - Database Development Edition normally requires the SQL Anywhere database. We do not include this database in the trial version of the product, but a trial download is available from the Sybase web site.


 III. Additional Fixes

Applet reload problem

Previously we have seen problems with applets freezing if a user tried to reload an active applet. This problem has been addressed. If you are using the AppletViewer to reload an active applet, please add the following line of code in the applet before the init section

symantec.itools.db.beans.binding.databus.DataBus.initialize();

You only need to add this line if you are using the DBAW API.
 

Migration of old Applets

If you have been using a previous version of dbANYWHERE API, please note that the constructor of symantec.itools.db.pro.Session has been changed to include an additional parameter:

public Session (String serverURL, boolean designtime)

The additional parameter specifies whether the Session object is instantiated at design time or run time, and is required to support the Symantec Visual Cafe development environment dbDE 2.1. In Visual Cafe dbDE 2.1, the Migrate utility will automatically convert your existing projects to use the new Session constructor or

new Session(serverURL,false)

if you use JDK 1.0.2

 Migrating an 1.0e project with list component in the current environment will delete the constructor and databinding property for the List. Please add the constructor and set databinding property for this component in the source code.


IV. Executing & debugging applets in Netscape Navigator

Netscape Version

Visual Cafe now supports the ability to debug Java applets using Netscape Navigator. You must have version 4.04 or later of Netscape Communicator installed on your system. In addition you must have the updated support for JDK 1.1. You may obtain this from Netscape's web site at

http://developer.netscape.com.

Make sure you install the support patch for version 4.03 or greater.

 

Enabling Execution/Debugging in Netscape Navigator

In order for Visual Cafe to execute your applets in Netscape Navigator, you need to edit your project options and select "Execute applet in default web browser." You will also need to ensure that Netscape Navigator is configured as your default browser.

Avoiding Security Violations

Netscape will issue security violation exceptions when you attempt to execute or debug applets from within Visual Cafe. To avoid this security constraint, please add the following options to your pref.js file:

user_pref("unsigned.applets.low_security_for_local_classes", true);

user_pref("signed.applets.local_classes_have_30_powers", true);

user_pref("signed.applets.low_security_for_local_classes", true);

user_pref("signed.applets.verbose_security_exception", true);

Notes

1. This file states that it should not be edited by hand. In order to add entries to this file, you must first close all running instances of the Netscape Navigator. You may then edit the file manually.

2. You will see a message in the Java console, "# Security Exception: checkpropsaccess.key". This message can be ignored. For more information on Netscape security please refer to following URLs:

http://developer.netscape.com/support/faqs/champions/security.html

http://developer.netscape.com/library/technote/security/sectn3.html

The Netscape browser will execute and debug applets that use the JDBC-ODBC bridge. In order to deploy these applets, users may need to purchase the JDBC-ODBC solution package from Intersolv. For further assistance please refer to Intersolv's home page. 

Microsoft's Internet Explorer Browser

Applets can be debugged and executed, within the Visual Cafe environment, in Internet Explorer. Deployed applets can also be downloaded in Internet Explorer.

The Microsoft browser does not support JNI, the native code required by Sun's JDBC-ODBC Bridge. Microsoft has its own version of the JDBC-ODBC Bridge, which can be obtained by downloading the Microsoft SDK for Java from their Web site.


V. General Web Browser Information

Remember that ODBC is not acceptable for untrusted applets. It requires access to local ODBC configurations, as well as the ability to load the native code for the ODBC manager and for ODBC drivers. The dbANYWHERE Server may be used for ODBC access when a three tier deployment scenario is required.


VI. dbANYWHERE Server Issues

NOTE: Please refer to the dbANYWHERE Server readme.wri file for information on features, etc.

Multiple select statements

Sometimes the dbANYWHERE Server shows multiple select statements in its log window when a single operation is being performed. This duplication of messages can be ignored, as they do not indicate that the database has actually been called multiple times.

Informix float datatype

Informix supports float data types with a maximum scale value of 6. Attempting to use a greater scale value will result in rounded data values. This in turn causes update statements to fail their integrity constraints, thereby disallowing updates.

DML operations are not currently supported

The following datatypes are not supported in DML operations:

Microsoft Access Bugs

In Access every query navigator requires a different record definition bean. The record definition bean needs a seperate jdbc connection bean.
Access does not support != (not equal to operator) for the join operator.

If you are working with Microsoft ODBC driver please be aware that you need to add square brackets [ and ] around the path name. For example, if Access is a directory under an office folder in C drive and the database you are accessing is named foo in this directory. The record definition object for any table from this database would be named as C_office_Access_foo_tablename_Record where tablename is the name of the table you are trying to access. There is a method in this object called:

setTableName("C:\\Office\\Access\\foo.tablename");

Add [ ] to enclose the path name so that this method would be:

setTableName("[C:\\Office\\Access\\foo].tablename");

Currently, we do not support column names or table names with spaces in them. The workaround for this is to add [ ] around the column name or table name in your record definition source code.

If the Table Name property in the record definition object is clicked you may get a "data source not found" error.

Access does not let the user change the boolean data value from No to Yes, while changing from Yes to No works successfully. (The Access boolean datatype maps to a Bit data type in Java and is typically displayed with a checkbox component.)

Views cannot be chosen through the project wizard but can be dropped from the dbNAVIGATOR. This is due to a limitation in Access's ODBC driver.

 

Oracle number data type

Number data type with scale 0 is displayed as a decimal instead of an integer. Values entered to the right of the decimal point will be truncated, which may be confusing to some end users.

 Informix ODBC driver from Intersolv and transactions

Currently the dbANYWHERE API does not support Informix databases via Intersolv's ODBC driver, if the database is created to NOT support transactions. Informix databases that are configured to support transactions will be supported via the dbANYWHERE API.

NOTE: Use of the Intersolv ODBC driver to Informix is always supported when using the JDBC API through the dbANYWHERE Server.


VII. Development Environment Issues

ArrayOutOfBoundException while dragging and dropping QueryNavigator on a form

Dropping the QueryNavigator object from the component palette onto an applet will cause the QueryNavigator object to be added to the end of the INIT block, within the source code. This results in code which will not compile. To eradicate this problem, you must either move the QueryNavigator above the component panel in the project window or move the code so that the navigator is instantiated before a component calls for data from that navigator.

 

List and Listplus

There are two components with similar names, List and Listplus. The Listplus component is designed to work with the JDBC API and the List component is designed to work with the dbANYWHERE API. To reduce confusion, we have exposed the Listplus component (for JDBC) in the component palette. Meanwhile, the List component (for PRO) is available in the component library under dbAWARE components.

 

DBTimestamp

The default value that will be stored in the database for a timestamp datatype, using the DBTimestamp component is 10:10:10. The format of this data is HH:MM:SS. If the table that this component is based on is empty then please add

DBTSTAMP1.setType(symantec.itools.db.awt.DBTSTAMP.DATE

or

DBTSTAMP1.setType(symantec.itools.db.awt.DBTSTAMP.TIME

or

DBTSTAMP1.setType(symantec.itools.db.awt.DBTSTAMP.TIMESTAMP)

where DBTSTAMP1 is the component name and DATE,TIME,TIMESTAMP are the JAVA mapping of the data type.


VIII. What's new and fixed in the Database Development Edition

1. Generating Master Detail scenario through the wizard for JDBC API
2. New Tour using JDBC API
3. Year 2000 compliant
4. Fixed the frame freeze problem for applications with multiple instances of detail frame
5. Fixed problems with navigation while trying to reload an applet in a browser
6. Fixed problem with displaying images in Internet Explorer
7. Improved performance for data navigation
8. Fixed bugs in grid to improve performance in DBAW API
9. Fixed problems with save method for enhanced support to databases that do not support transactions
10. Fixed problems with combo box lookup property
11. Fixed the checkbox


IX. Instantiating Query Navigator in Master Detail scenario

The master query navigator has to be instantiated before adding the detail.