Этот сайт посвящается администрированию баз данных OpenEdge Progress.
Не корысти ради, а познания для!

С уважением,
Валерий Башкатов
Сайт разработан при участии компании Progress Technologies, официального дистрибьютора Progress Software Corp. на территории стран СНГ и Латвии.

RSS RSS подписка на обновления сайта

Поиск по сайту

Лучшие материалы

Orphus System
На сайте функционирует система коррекции ошибок. Обнаружив неточность в тексте, выделите её и нажмите Ctrl+Enter

Результаты опроса: Нужны ли книги по Progress OpenEdge на русском языке? (опрос проводился с мая 2009 по ноябрь 2010)

Да, нужны. Потому что будет легче понять материал - 268
Нет, не нужны. Достаточно материалов на английском языке - 10
Не знаю, мне всё равно - 6

А знаете ли вы что..

Вышел Service Pack 03 для 10.2B

17 декабря 2010 г. вышел Service Pack 03 на OpenEdge 10.2B.

Скачать его можно через ESD. Если вы еще не зарегистрированы в ESD, то информацию о способе регистрации можно получить здесь 

Примечание: в 10.2B03 вошли все исправления SP01 и SP02, здесь они описаны не будут, см. описание 10.2B01 и 10.2B02

Исправления, вошедшие в 10.2B SP03

Product Update Version:



Release Version:



Date Available:


December 2010

Issue #




DB proutil

After converting a DB to version 10 using conv910 a subsequent attempt to copy this DB causes procopy to crash with a core dump



Get Error 6216 when closing a session that used CONNECTION_POOLING,0 parameter


SQL ODBC Drivers

In certain cases, turning ODBC tracing on when running a program utilizing the OpenEdge 10.2A ODBC driver may cause the program to terminate and generate a core file.


SQL ODBC Drivers

Executing a query via Microsoft SQL Server Linked Server against a table in OpenEdge database containing a field where the data exceeds the SQL-width can cause the ODBC driver to crash.



Running a query containing the datetime function shows different results when connecting to the database via shared-memory or client-server.


SQL ODBC Drivers

A stored procedure including an UPDATE or INSERT SQL statement executed through ODBC does not release locks. Connection has to be terminated and transaction is rolled back.



The OUTPUT TO <UNC-path> statement can fail on Windows 2008, where UNC-path is the name of a shared printer. This worked without error on previous Windows versions. It will fail with the following error: ** Unable to open file: \\server\printer. Errno=2. (98)


AppServer Network

The fix for bug number OE00195792 causes a non-descriptive error message to be returned. The error text will be "7175".


Adapter for SonicESB Other

The Sonic ESB Adapter leaves the original file name extensions off ABL programs. This prevents being able to run source code on the AppServer because the default behavior of the ABL is to look for r-code when no extension is specified and not to look any further if r-code is not found.


DB cx

When retrieving data from the database and relying on natural index selection, based on predicate formation, a significant number of records that match the predicate criteria are not returned from the database. When the query uses multiple indexes and the result-set includes records with 32-bit and 64-bit rowids, the records with 64-bit rowids are not returned to the client.


NETUI Data Binding

If you have an UltraComboEditor bound to a Progress.Data.BindingSource and the original displayed item is "Unknown", corresponding to an underlying Unknown value, the Value property returns the Unknown value.

However if you select "Unknown" in the UltraComboEditor after having selected other values, the Value property returns the empty string.


Porting Windows64

Installing 64-Bit OpenEdge on Windows causes the 32-Bit prowin32.exe to be installed but that executable cannot use XML.



When MS SQL Server table has computed column, updating fields other than computed column causes error 37000.



Setting the AUTO-RESIZE attribute on a browse column may crash the OpenEdge session and generate a protrace file when the browse's or column's FONT attribute is set before the browse is realized.


NETUI Data Binding

If a .NET form using a BindingSource causes a WRITE schema trigger to fire, and that WRITE trigger runs code executing a WAIT-FOR, this will effectively hang the session. The application window that comes up due to this stacked WAIT-FOR can still be moved, text can still be entered in fill-ins etc.

But anything that raises an event that needs to be handled will no longer respond.


Replication SERVER

Disabling OpenEdge Replication online and then re-enabling online stops replication commands from working and also cannot be disabled online again.



ODBC error shows duplicate unique violation when creating sequence value using ABL.

Error text:

23000: [Microsoft][SQL Server Native Client 10.0][SQL Server]Cannot insert duplicate key row in object 'dbo.sysagentsched' with unique index 'sysagentsched##idxprimary'.



Defining a work-table to hold objects of type PROGRESS.lang.OBJECT and then assigning a class object to the work-table field will hang or crash the Progress session in 10.2


Server Technology Other

When the ABL server socket accepts client tcp connection, the DNS query is being performed although it is unnecessary. In case DNS is unreachable for whatever reason, there is a 20 second delay before the connect event is processed.


DB proshut

Database won't shut down because the broker is not handling rejected connection attempts.


WebSpeed WebSpeed 4GL

If you post an HTML form with a large number of fields in an HTML form, and the code uses get-field() with a valid field name in a WHERE clause of a FIND statement, get-field() will not return the field value.


NETUI Data Binding

When re-setting the Handle property of ProBindingSource, whether the handle is for a dataset, query or buffer, there is a significant increase in memory usage. If this is done in a batching scenario, or a child dataset of a parent dataset (i.e. orders and orderlines) and the handle is re-attached many times after filling the data source, memory consumption can go up into the GB range.


Replication Replication

proutil describe cannot be run online against a target database when using a Replication license instead of a Replication Plus license.


Replication Replication

AI is enabled on the target database after transitioning from secondary replication back to primary replication. If running with a non-Replication Plus license, users cannot disable after-imaging online.


GUI ActiveX

Calling ENABLE-EVENTS() on the COM automation object InternetExplorer.Application, incorrectly returns NO if Internet Explorer 8 is used. Without NO-ERROR, you would see this error message:

"Unexpected error occurred while processing method/statement ENABLE-EVENTS. Element not found. <Program name> (5889)"

Even though this all indicates that the method failed, the COM events are in fact caught and handled correctly.


DB db

Remote Batch clients are not being identified as Batch clients in the _Connect VST or in promon. Instead they are being identified only as remote clients.


SQL ODBC Drivers

Extended characters are converted to Unicode/double-byte format when passed via SQLBindParameter ODBC API which can cause the data to exceed the column width and return error:

Character string is too long (8184).


OEIDE Editing

In OpenEdge 10.2A, static methods were removed from the "Source -> Override/Implement methods" dialog.

However, the ABL does allow defining overrides on static methods, so this creates a situation where the editing tools don't support all ABL features.

This functionality should be re-instated; static members should be visible in the dialog, they should not be automatically be selected for inclusion.


NETUI User Interface

When a dialog box is shown using WAIT-FOR ShowDialog(), the keyboard accelerators for UltraToolbar buttons are still accessible on the form which launched the dialog box.


NETUI NetUI Language

If in a .NET event handler the code deletes/disconnects/disables an existing ABL socket, and then calls a .NET method or gets/sets a .NET property that causes a 2nd event to fire, a GPF can occur.



Data is storing as Unicode in MSS database but it is truncating/adding some junk characters when passed through the WHERE clause.



If an AppServer async request contains OUTPUT TABLE-HANDLE parameters that are unknown, the client might not get any data in temp-tables.


DB dsm

Connection to database generates error: -P and -U startup parameters require _User file records. (709)


NETUI NetUI Language

The AVM can crash when executing an overridden .NET void method in a hybrid. The crash will occur if on return from the void method, another hybrid object with an ABL destructor is garbage collected. The message displayed during the crash is:

SYSTEM ERROR when invoking ABL method <method-name> from .NET

Exception code: C0000005 ACCESS_VIOLATION

The prevalent manifestation of this crash is when an ABL Form overrides WndProc, and has a hybrid control on it which has a destructor. If the form is explicitly destroyed from the ABL during the formClosed event, and the hybrid control is not explicitly destroyed during the form's destructor, the AVM will crash on returning from WndProc.


ADE Tools and Runtime GUI Rendering

After upgrading to 10.2B01, the frames of some Static SmartDataViewers with English to English translations get resized too small to fit the widgets contained in them.


OEIDE Editing

Openedge developer uses Expand keyword option for a procedure file. If this procedure file contains "Component-handle" keyword, then an empty message dialog box is displayed.



If a browse column is defined as VIEW-AS TOGGLE-BOX, switching focus with "APPLY ENTRY" to the browse can change the column value.



A frame containing a VIEW-AS EDITOR field may display its value in the wrong place when using -cpinternal UTF-8, if other fields on the frame contain non-ASCII characters. This happens when output is redirected to a file. The characters will appear to the left of where they should appear, possibly overwriting other fields in the frame.


DB proutil

proutil with the iostats qualifier causes a system error 49 (memory violation) when run against a database which had extents added online.


ADE Tools and Runtime GUI Rendering

After installing 10.2B01, Static SmartDataViewers with time fields and that have english to english translations return an error stating that the getLabelHandle function is not found. This was caused by the fix for CR# OE00177792.


NETUI User Interface

.NET dialogs may not get garbage collected, potentially causing a memory leak.


NETUI NetUI Language

Under a specific scenario, the session may hang if it detects an async response ready for processing while trying to process a .NET event



When using the BASE64-DECODE function, if the function fails because the data being decoded in not base64 encoded then there is a memory leak, which can eventually crash the process with:

Could not allocate memory to perform concatenate operation (15633)



The internal conversion from a double-byte codepage to UTF-8 has a buffer overrun which could potentially crash the AVM. This is most prevalent on the GUI client (prowin32.exe) when setting -cpinternal to a double-byte codepage, as it performs conversions from -cpinternal to UTF-8 for display.



Add FORCESEEK hint for table with no unique index for MS SQL Server 2008 onwards


Diagnostics 4GL Trace

The client may crash when 4GLTrace logging is enable and the AVM is deleting persistent procedures at shutdown which had subscribers registered. The session may also crash during shutdown if DynObjects logging is enabled and the persistent procedure has longchar variables.



Startup parameters -IOEverywhere 1 and -Assemblies mutually exclusive for an OE ARchitect project. OpenEdge Architect handles only one of the above named startup parameters. If both startup parameters are added to a project, then Visual Designer fails to load.






If there more files with the same name in different directories referenced by PROPATH, only the last one is compiled.



The client may crash when trying to delete an OO object that is not going to be reused if one of the procedures that comprises the object was pending delete, and it was running the source (and not rcode).


NETUI NetUI Language

When clicking on the drop-down arrow of a COMBO-BOX widget in a Window that was launched from a .NET Form, the following error appears:

SYSTEM ERROR when running event dispatcher

Exception code: C0000005 ACCESS_VIOLATION

Fault address: 7C9101B3 01:0000F1B3 C:\WINDOWS\system32\ntdll.dll

Protrace generated

This problem does not occur in 10.2B0108 and appears to have been introduced in 10.2B0112. The problem is still present in 10.2B02.


Install Install

A .NET based application running from a netsetup installation of an OpenEdge service pack may fail to run and display errors indicating some type of permission or security problem. This is due to a problem where the netsetup installtion of a service pack does not install the 3.0 .NET framework, nor does it prompt to accept/reject adding the OpenEdge directory to the local intranet FullTrust zone.

A workaround for this problem is:

1) run regedit to modify the registry

2) rename the HKEY_LOCAL_MACHINE/Software/Microsoft/.NETFramework/v3.0 key to some other name

3) uninstall the netsetup installation

4) reinstall the netsetup installation, this time answering yes to installing the 3.0 .NET framework, and yes to adding OpenEdge to the local intranet FullTrust zone.

5) Rename the changed v3.0 key back to the original name.


DB lk

SE 307, Too many unlock request brings down the database has been changed - if the database engine receives an invalid call to release a schema lock, it will write a message to the database log so that we'll know the strength of the invalid request. Also if the invalid request was to release a shared database schema lock, the database will no longer go down.


DB db

A client logging out from a database could have left USR latch being held without being cleaned prior logging out.


GUI Combo

Focus may be lost when the TAB key is pressed in a browse field viewed as a combo box if the application uses the GUI for .NET style WAIT-FOR statement.



If a void method in a class runs a .p that references the same class, the AVM could crash returning from the void method. This can happen when the -mmax is nearly exhausted, and existing r-code segments are being swapped out to make room for other r-code segments.

A workaround could be to increase -mmax so the segment swapping does not occur as frequently.


WebSpeed Messenger

WebSpeed Messenger may fail when uploading large files and show error 5823 on the browser. The server log may show errors 6402 or 15634, plus 6397 and 6400.


WebSpeed Agent

Uploading binary files with WebSpeed may cause error 6019 and 5814.



The session crashes if a dynamic FIND() for a buffer or a dynamic QUERY-PREPARE is executed, and the where clause specified includes a NEW() function. For example: "WHERE Customer.CustNum = (NEW myTestClass()):myIntAttribute".



The ESBOE file is not generated when there is a procedure with ESB annotation which gives a warning at compile time.



Client may crash trying to EXPORT memptr.


NETUI NetUI Language

Instantiating an ABL class that contains no references to anything in .NET but which defines a STATIC method causes the .NET CLR to be loaded at runtime.



The client will leak memory when reusing an OO object that has db access (such as FIND, FOR EACH, etc) with a default buffer. If you create/delete the object many times, this becomes a problem that can cause the process not to have more available memory.



When an existing project is imported into OpenEdge Architect, then launch configurations also gets imported. if any associated Launch Configurations has not their version upgraded the the following error will occur:

" Launching '<configname>' has encountered a problem.

The specified OpenEdge version of <version> for <configname> is invalid. You need to update OpenEdge installation information for this launch configuration. "

The only alternative is to edit the version with the upgraded value in the imported launch configurations.



The AVM crashes under the following circumstances:

- a table has a session or schema CREATE trigger which populates a key field

- client1 does FIND NO-LOCK on a record, and keeps this buffer in scope

- client2 deletes the record which client1 has in the buffer

- client1 creates a record for the table in a different buffer, and the recid assigned to the new record is the same as the recid of the record in the first buffer.


LANG Procedure Library

Classes in procedure library files compiled with no debug segment give error 14631 when run.


DB Other

USR latch can be held longer than it should on a remote server resulting in a resource contention for that SRV and a performance degradation when responding back to remote clients



In 10.2B when a record is created and updated later in a separate transaction, it appears that the PROGRESS_RECID field is set to NULL after the update.


NETUI User Interface

When you try to display an ABL dialog in a .NET application, you may get error 4025 (Unable to realize DIALOG-BOX <name>) if the last form that was active is closed.

If the dialog contains an image, the session will crash right after the error.


NETUI NetUI Language

If you have a .NET window up and then the ABL code applies "END-ERROR" (i.e. ENDKEY) to some ABL widget, then the whole .NET application comes down.


LANG Procedure Library

Accessing procedure from a PL with RCODE-INFORMATION might trigger one of the following error and cause the session to core dump:

SYSTEM ERROR: I/O error 2 in readit, ret <>> file <n>, addr <n>. (290)

SYSTEM ERROR: I/O error 13 in readit, ret <>> file <n>, addr <n>. (290)


Management Management

Content of tables Db_ActIOFile and Db_AreaStatus is not deleted when running OpenEdge Management Compaction job regularly.


Management Management

Changing the schedule period of Default_Schedule and other schedules in OpenEdge Management causes java exceptions to occur.


OEIDE Editing

If you exclude Data-Aware Proposals in the Editor Assistance Preference page and reference a class by its name only after indicating the namespace in a USING statement; content assist doesn't work for the instance of that class.


USING IntergyClasses.Core.*.


oSubClass = NEW SubClass().

oSubClass:<CTRL-SPACE> /* Results in 'No Proposals' */


NETUI NetUI Language

Client leaks memory when accessing .NET indexed properties (both when getting and setting them).



When querying data from an HPUXIA64 client to a Unicode MSS database and using a character field in the query predicate, no records are returned to the client.


WebSpeed WebSpeed 4GL

The WebSpeed get-field() function in cgiutils.i becomes case-sensitive if the HTML form has a sufficiently large number of fields (500+).

If the field name passed in does not match the case as defined in the HTML form, the function doesn't return a value.


NETUI NetUI Language

Some keys, including the Tab, space, and arrow keys, are not functional with enabled browse cells when .NET is activated.


NETUI User Interface

After applying ENTRY to a field in a legacy ABL dialog, then executing a WAIT-FOR, once the dialog is dismissed and a control in a .NET form gets focus the session crashes with no protrace file and shows the following error:

System.AccessViolationException: Attempt to read or write protected memory. This is often an indication that other memory is corrupt.



The AVM might not run the correct overloading of a method if the method is called as part of a chain of references with 3 or more elements and the overloading resolution was deferred by the compiler until run time. In this case, the AVM currently chooses the first overloading in the source file. So, if the first overloading happens to be the one that is intended, the call will work. The method call can be ambiguous at compile time for any of the reasons that make method calls ambiguous: one or more arguments provided by DYNAMIC-FUNCTION/DYNAMIC-INVOKE, temp-table/ProDataSet parameters, array parameters, etc.

This incorrect run-time resolution leads to one of the following outcomes:

o The error, "Mismatched number of parameters passed to routine <name>. (3234)," might be raised (this seems to be most common).

o The session might crash without further error.

o An error might be raised that parameters cannot be pushed onto the stack.

o The correct method might execute because, by coincidence, the AVM chose the intended overloading.

o The wrong method might execute, but not raise an error because it does not use the arguments it receives in a way that would cause an error. So, the outcome of the call might not be what the developer intended.



A compile XREF listing for a class which subscribes or unsubscribes to/from a .NET event will list both the event type and the name of the event handler as translatable strings.

Главная |  Статьи |  Книги |  Гостевая |  Ссылки |  От автора |  Download ProKb

������ ᠩ� pr Online ProKB Blogger Welcome to Russian Progress Users Group at Facebook Welcome to Russian Progress Users Group at LinkedIn
© 2009 - 2011 Все права на материалы, находящиеся на сайте www.openedge.ru, охраняются в соответствии с законодательством РФ, в том числе, об авторском праве и смежных правах.
При любом использовании материалов сайта ссылка на источник обязательна.