Release Notes for ASNA DataGate® for SQL Server Classic Release 5.0 - Build 7.133.1.1
Contents
Issue connecting to SQL Server after installing Windows XP Server Pack 2
There is an issue with connecting to SQL Server after applying
Microsoft's XP Pro Service Pack 2.
Installing Microsoft's XP Pro Service Pack 2, by default, enables the built-in Windows firewall settings which interfere with SQL Server connectivity. These settings, unless changed, won't let you connect to SQL Server 2000 (with either SQL Server's own Enterprise Manager or with ASNA's DataGate for SQL Server (DSS).
The Windows Firewall closes ports such as 445 that are used for file and printer sharing to prevent Internet computers from connecting to file and print shares on your computer or to other resources. When SQL Server is configured to listen for incoming client connections by using named pipes over a NetBIOS session, SQL Server communicates over TCP ports and these ports must be open. SQL Server clients that are trying to connect to SQL Server will be not be able to connect until SQL Server is set as an exception in Windows Firewall. To set SQL Server as an exception in Windows Firewall, use the steps that are listed here.
Error you will receive:
The error message shown below in Figure 1 is error message you'll receive if you encounter this error. You'll receive this error attempting to connect to SQL Server with either SQL Server's own Enterprise Manager or with ASNA's DataGate for SQL Server (DSS).

Resolution:
After upgrading XP Professional with Service Pack 2, there are changes that are need to be made to XP's firewall settings to allow SQL Server 2000 to be able to communicate with the Firewall features in XP Professional.
Please consult with Microsoft or your Network Security Administrator before making any changes. These changes impose security-related issues that should be fully assessed for your environment.
More Information:
Click here for the article on http://developer.asna.com.
Click here for more general information.
Click here for Microsoft's recommended steps to resolve this problem.
There are important issues, limitations and considerations of SQL Server when it comes to objects, indexes, data access, locking, fields, and join considerations. Please refer to the following files for additional, important information.
Differences_DG400_and_DSS.htm - Contains a listing of the Differences between Acceler8DB, DataGate for DB2/400 (DG400) and DataGate
for SQL Server (DSS).
Porting_AVR_to_DSS.htm - Contains some SQL Server restrictions and the process to convert your
AVR applications to access SQL Server databases.
0DSS.htm - Contains some programming considerations when converting your AVR
applications to support SQL Server.
Database Issues:
ADB 4.7 and ADB 5.0 cannot co-exist on NT Server
Even if you install ADB 5.0 into a different folder than ADB 4.7, there is only one service (adbntsvc). The last version installed will install the service and that service will point to the version you installed last.
As with any other information you
keep on a PC, you should make sure that you keep 'current' backups of your
data. If you have ever run a program like CHKDISK you will notice that sometime
'clusters' get damaged on FAT file systems.
Keeping a good backup outside of your PC will enable you to recover from
a disk failure.
New Features in ADB 5.0
Here is a list of the main new features found in Acceler8DB release 5.0:
SQL Server
With ADB's SQL Server support, access to SQL Server is provided via standard RPG file I/O operations such as CHAIN, SETLL and READ.
Through Acceler8DB, you can use such features as QTEMP, libraries, Open Query File and native iSeries 400 data types (such as packed) with SQL Server. You can access existing SQL databases, or create new SQL Logical databases.
Database Connection Pooling
When database connection pooling is enabled, the communication to the server and to the server resources are kept in a special ‘pool’. The next time the application requires database services, one of the available connections in the ‘pool’ is assigned to it. Thus, enabling Database Connection Pooling results in faster database connections.
Multi-Threaded Environment
Each ‘thread’ of every process gets a separate connection to the server. When the application closes the database, the connection goes away, along with its corresponding support on the server.
Null Field,
Unicode Field and Variable Length Field
This release allows the support of null fields, Unicode fields, and variable length field support.
Copying and Renaming DDS Files
You can now copy and rename DDS files
from the QTEMP library. This is done by
selecting the DDS tab within Tools – Options.
When a file is copied and created on an AS/400, a Data Description
Specification file (DDS) is created in a library called QTEMP.
ADB,
DSS & DCS 5.0 Bug Fixes 7.69 and above:
Bug
Fixes:
ADB, DSS & DCS 5.0 Bug
Fixes 7.46 – 7.69:
·
ADB: When a sequential (Next,
Previous) read failed because the record was locked, the cursor 'position' was
not being maintained.
·
ADB: PrintFile could not be copied nor
created when it contained an empty format.
·
ADB: DBDef Control: ChangeDatabaseLocation function would always fail
with result code -1.
·
ADB: DBDef Control: Changing User-ID or Password of a *Public
database name would incorrectly create a new private database name.
· ADB: READE would return "Input String was not in a correct format" when accessing an AS/400 join logical file with concatenated fields that consisted of Character and Packed data types.
·
ADB: Archive restore was
requiring the “.dga” file extension to be all lower
case. It is now case insensitive.
·
DG8: Using READP with OPENQRYFILE
with no keys and Org( *Arrival ) would sporadically fail.
·
ALL: ADB COM and ADB .NET support
for ADB 5.0 now share the same version numbering: 7.46
·
DCS: Running an app in the IDE
with an unlicensed DCS issues the wrong error message.
·
DCS: Attempting to read a file
without opening it would crash the IDE.
·
DCS: Entering an empty string for the Source.Profile
would crash the application.
·
DCS: New IFileContent interface added to allow
override of File, Record and EOF wait times.
·
DCS: EOF would be incorrectly set on the second record during a ReadEqual loop.
·
ADB: (ADBFEDIT) Changing a record containing a negative zoned field with
zero decimal places would contain 10 times the previous contents.
·
ADB: ADBFM would crash when clicking the Add Field of a Field Reference
file.
·
ADB: ADBFM now allows ability to change column headings of referenced
fields.
·
ADB/DCS: (Archive control - RestoreWithOptions)
Archive restore now allows omission by file type. e.g., Restore all files, but omit Logicals.
ADB,
DSS & DCS 5.0 Bug Fixes 5.1194 – 5.1200.1.33:
·
ADB: Define 5 types of CopyData
:
1) Format IDs must be identical.
2) Map and preserve
field precision.
3) Map and allow field truncation.
4) Map and drop missing fields.
5) Byte for Byte .
ADB, DSS & DCS 5.0 Bug Fixes 5.1182 –
5.1193:
§
DCS:
Creating a new file in SQL Server would raise "Uninterpreted
SQL Error".
§
DCS: IDatabaseObject.SubType was returning dgUS_Unknown for a print file instead of dgUS_OlePrint.
§
DCS: The FileAttributes
status of a file was not being preserved when copying as a cloned file.
§
DCS: Bases collection object is now
correctly non-creatable.
§
DCS: A SQL Server file opened with *LIBL in
path resulted in "Uninterpreted SQL Error"
§
DCS: Using the fileContent.source
to return a copy of that source object for use in setting the source of a new
object was working incorrectly.
§
DCS: Print preview and Macro processing components
(splview.ocx & splviewer.exe) were not being
found even though they were in same folder as adbactvx.dll.
§
DSS: In a Case sensitive SQL Server instance, a file with a mixed case
key fields would create "field not found" error in Database Manager file
editor.
§
DSS: Unexpected Exception Error would occur in Database Manager when
selecting field reference file in a SQL Server library.
§
DG/400: AS/400 SQL logical files were not being correctly reported to
AVR. Note: AS/400 SQL Logical files are not supported by
DG/400.
ADB,
DSS & DCS 5.0 Bug Fixes 5.1172 – 5.1181:
§
DCS: When a zoned
database field contained a negative value, the Fields.Value
property did not interpret the field content as being negative.
§
DCS: When attempting
to connect to a database with the SourceProfile
object and the content of label property was not set, the error raised by DCS
was "File not found" instead of "Database label not found".
§
DCS: Attempting to
connect to Local SQL Server database via SourceProfile
object would incorrectly result in "Cannot connect to database license
server" error.
§
DCS: When
reconnecting to a data source using SourceProfile
object (whether prior connection was successful or not) resulted in
"Channel Busy" Error.
§
DCS: When running
in VB6, the application would crash if the SourceProfile.Password
was set from an empty textbox control.
§ DCS: When running in AVR, updating a decimal field would result in the error: "The value specified contains too many decimals to be contained by the field".
§ DSS: Corrected installation and access to a "case sensitive" SQL Server instance.
§ ADB: Improved error message when cannot remap record format for AVR's CHKFMTID(*MAP) option. Changed from “Invalid field definition" to "Cannot remap field in file description".
§
ADB: ADBFM's natural language translations were being applied to
the field types (e.g., *Packed to Spanish's *Empacado)
causing the wrong data type to b applied to a field definition.
ADB,
DSS & DCS 5.0 Bug Fixes 5.1109 – 5.1171:
·
DCS:
Creating a logical with a Select/Omit would crash DCS.
·
DCS: Added
FileContent.SetFormat for reading exclusive format in
multi-format logical.
·
DCS: Added "write caching" using dgFA_WriteCache access mode [ like AVR's
CacheWrites & NetBlockFactor
combination ].
·
DCS: Added FileContent.Synchronize
method for flushing/dumping a network blocking cache [ like FEOD on AS/400
].
·
DCS: Added FooterSize,
and other properties to PrintFileContent.
·
DCS: Added StartNewDocument
(Reset) method for forcing end-of-document on an open print file [ like AVR's FEOD Reset(*yes) ].
·
DCS: Removed redundant methods/props from PrintFileContent (seek, etc.). Note that this
change BREAKS EXISTING CODE that uses print files, possibly others...
·
DCS: Added Commit and Rollback methods to
Source object.
·
DCS: Added recognition of XML string to
define multiple Base Files in Member.CreateLogicalFile
method
·
ADBFM: Users can no longer create a
"secure" ADB database.
·
ADBFM: Had trouble copying DDS when copying
a directory.
· ADBFM: Added a "YesToAll" option for the DDS prompt dialog. Now the members that have already been copied will be removed from the QDDSRC in QTEMP.
·
ADBFEDIT would not remember Query and KeyFields in command line.
·
DSS: Added more error checking when opening a print file definition.
·
ADB File Manager and ADB Definition Control would stop enumerating
database names when a bad database name was found.
·
ReadRange and SetRange
were not correctly handling keys in descending order.
·
ADBFM was crashing when encountering an invalid Logical file.
·
ADB File editor: Changed the way
Hex fields are handled in the "edit" field dialog. Also, added
support for DBCS fields for the "edit" field dialog.
·
DCS: Variable length Hex fields were being handled incorrectly. The hex string was being read from the file
with extraneous data.
·
DCS: Print file *File properties were being reset. Now, unless PrintFileContent
properties are set, DCS retains the *file defaults.
·
DCS: DG/400 was issuing wrong error when attempting to update a record
when access mode was not update.
· ADBFEDIT would lock records even though it was in browse mode.
· ADBFM would crash when viewing permissions of an object with the "Child Objects" check box selected.
· Print file dimensions exceeding 12 inches were being returned as negative values. Dimension can now be 25 inches.
· Working with an invalid logical file would crash ADBFM.
· READRANGE & SETRANGE were incorrectly handling descending keys – Acclere8DB and DG/400 only. (This is to be resolved with DSS in next release).
· Acceler8DB Engine was not allowing the current record to be unlocked multiple times.
· Acceler8DB was returning error condition on SETLL with key = *start or *end was executed upon an empty file.
· AddNameDSS and the RegisterNameDSS methods were added to the DBDEF control (adbctls./ocx).
· Running ADBFM's Tool > Check File option would trash the ADB connection.
· ADBFM’s Tool > Check File option was non-functional in ADB 5.0 engine. Now it works again.
· ADBNTSVC.EXE was leaking memory whenever retrieving a file’s reference.
· Querying a file and not specifying QRYKEYFLDS parameter caused AVR to hang when attempting to read the file.
· ADBFEDIT was providing Search option for RRN view when there is no way to search.
· SetRange/Read and ReadRange/Read operation was being terminated with EOF if Write, Update or Delete commands were executed on same file from within the loop.
· Using ADBFM’s Copy Data or AVR’s dgCPYFILE from one AS/400 to another AS/400 would terminate with erroneous error message.
· Copying files from Acceler8DB or SQL Server to an AS/400 reported bogus error message when file or member names exceeded AS/400’s 10 character limit.
· Attempting to create a logical view with no duplicates allowed over a base file with duplicate keys was crashing DG.
· Open or Close of any DB file was leaking some memory - more if NetBlocking.
· DSS was issuing confusing error message when the logical file contained a SQL Statement of the form 'SELECT TOP 100 PERCENT ... ORDER BY (X)' and then stated that the logical file was indexed by X. This combination is not supported by DSS. If the file is to be indexed by X, then it is not necessary, nor allowed to provide an ORDER BY clause in the statement.
· DSS: Implemented ReadE with no key.
· DSS: Native SQL timestamp (rowversion) data type was not being correctly supported.
· DSS: Issue understandable error message: "SELECT statements with the ORDER BY clause are not allowed in INDEXED logical files”.
· DCS: PrintFile field assignments would leave text remaining from previous assignment.
· DCS was incorrectly writing integer data to a file when using VB.
· DCS: Print file processing was incorrectly handling decimal data fields in the format.
· DCS: To accommodate .NET’s Interop, DCS now passes Hex values as string representation of the hex value.
· DCS fileContent object leaked memory whenever an I/O operation would encounter runtime errors.
ADB,
DSS & DCS 5.0 Bug Fixes Through 5.1108:
·
DSS: License manager was not correctly counting and maintaining
licenses.
·
DSS: READ following SETRANGE where the range
defined an empty set of records wasn’t correctly returning EOF w/DSS.
· DSS: No error was raised if needed ASNA supplied SQL Server 2000 stored procedures were missing.
· DSS: The time required to open SQL Server 2000 database files via DSS has been reduced significantly.
· DCS: The SetNew method for the Record object was incorrectly initializing all fields in a Record to null". Now, SetNew initializes fields based upon their data types (behavior is same as AVR’s CLEAR command).
· ADB Client: Opening data files would leak memory. (Behavior was restricted to the client machine without regard to the database engine employed).
· DG iSeries/400: Using ADBFM to modify creation attributes of an AS/400 file resulted in “Error 602 Library not found.”
· READE command with no key given would result in an ADB client runtime error of "Invalid Argument”.
AS/400 Only:
· Correctly interpret timestamp field metadata.
Acceler8DB Known Issues:
There is a limitation of 32 Record Formats per Print File.
· References are lost when restoring a file that has referenced fields.
· When using adbfedit with a file that contains duplicate keys, records may be skipped when you are browsing the file going forward, then change direction by browsing backward.
6/6/2005