Showing posts with label Bugs. Show all posts
Showing posts with label Bugs. Show all posts

Friday, August 30, 2024

DBMS_XMLGEN limited workaround for converting LONG columns into CLOBs

If you landed here is because you hit the problem of dealing with LONG columns.

There are some good articles elsewhere about how to tackle this old problem, my contribution in this case consists in advising about some limitations that apparently have been overlooked when using the same technique explained below.

It's a mystery to me why after so many years we can't rid of this annoyance once for good, why not "simply" adding a CLOB column equivalent at least in the case of data dictionary columns?
Come on!

I needed to extract the content of the TEXT column from DBA_VIEWS and DBA_MVIEWS, possibly without having to pass through an INSERT into a table (using function TO_LOB), which is the best workaround in case you deal with static data, for one-off operations.

I stumbled upon an old video of Connor McDonald showing how to extract the content of a LONG column exploiting the XML API DBMS_XMLGEN.GETXMLTYPE. This trick seemed to save the day after some adaptation for my case, and actually I was almost ready to celebrate when I started hitting some errors while doing further tests.

To cut a long story short, eventually I encountered the following problems:

  1. API documentation for version 19c of DBMS_XMLGEN.SETCONVERTSPECIALCHARS is incorrect as it mentions a parameter "conv" but the real parameter name is "replace". This typo is still present in the latest version of the documentation of 23ai.

  2. DBMS_XMLGEN.GETXMLTYPE and DBMS_XMLGEN.GETXML won't perform special characters escaping via DBMS_XMLGEN.SETCONVERTSPECIALCHARS if the column type is LONG.
    I was getting parsing errors when using Connor's EXTRACTVALUE technique because the XML document contained < or > as spare characters in the source (as in WHERE conditions inside the query source).

  3.  DBMS_XMLGEN.GETXMLTYPE and DBMS_XMLGEN.GETXML will truncate the content to the first 32K for LONG columns.

Problem #1 was easily solved, problem #2 was solved extracting the data using REGEXP_SUBSTR instead of EXTRACTVALUE, but this was possible because I was working on a XML document containing a single ROW tag at a time. For multiple rows this solution will not work.

  FUNCTION long2clob
     ( p_qry in clob, -- must return a single row!
       p_col in varchar2)
  RETURN CLOB
  IS
    c        CLOB;
  BEGIN
    c := regexp_substr(
           dbms_xmlgen.getxml(p_qry),
           '(<ROW>.*<' || p_col || '>(.*)</' || p_col || '>.*</ROW>)',
           1,
           1,
           'cn'
           ,2
         );
    return c;

  END long2clob;

Problem #3 remains, unless LONG columns are less than 32K.
Unfortunately we do have some views exceeding 32K of source, but considering the usage of this function I'll probably live with this limitation for the moment.
By the way, SQLDeveloper won't allow you to edit a view larger than 32K, and to me this sounds like an invitation to avoid such situations.

Finally, I also tried to see what happens when you supply a LONG column to function JSON_OBJECT, unfortunately it returns the exception:

ORA-40654: Input to JSON generation function has unsupported data type.

That's all folks!
(quote)

Tuesday, February 09, 2016

ORA-00600: internal error code when executing trigger

Always check out the original article at http://www.oraclequirks.com for latest comments, fixes and updates.

Here is another example of ORA-00600 where probably it makes no sense at all to contact Oracle Support because you can fix the problem by yourself.
 
ORA-00600: internal error code, arguments: 
[17273], [0x07A89CBA8], [0], [1], [], [], [], [], [], [], [], []
 ORA-04088: error during execution of trigger Y
 
I found out that SQLDeveloper version 4.1.1 (and later possibly, I couldn't verify), sometimes generates triggers' DDLs with one trailing (invalid) character that causes the Oracle session to crash in Oracle XE 11.

The funniest part in the story is in that such character is not to be seen anywhere when you copy and paste the DDL, so it goes through completely inadvertently and the code compiles without a hitch.
As soon as the trigger fires, the session crashes.
Luckily, when you open the trigger source code in SQLDeveloper, you'll notice a strange character in the last position.
Just remove it and recompile the trigger.

I ignore if the bug is in SQLDeveloper or at some lower level, if it affects only Oracle XE 11 or also different versions.

See message translations for ORA-00600 and search additional resources.

Friday, October 19, 2012

ORA-02291 while attempting to install a workspace from an earlier Apex version

Always check out the original article at http://www.oraclequirks.com for latest comments, fixes and updates.

First of all many thanks to Patrick Wolf for explaining me the reason of this bug and contributing a quick workaround.

The story goes as follows:
if you install Apex 4.2 on a fresh database or upgrade an installation of Apex 4.1 where there are no existing workspaces and you plan to import them later from saved files exported from earlier versions, your plan is going to fail miserably showing an error page like this:



The failure may happen either when creating users or groups, if there are no groups defined, it will fail when attempting to create users.

The reason lies in a new API parameter introduced in Apex 4.2 that is obviously missing in the old export files.
As you can imagine, by manually adding the missing parameter to the old dump files, does the trick.
Locate the following API call in the workspace dump files (parameter values of course will be different for you):



and make sure to add the line as shown in the picture (don't forget to add the comma after the last parameter.
 
p_allow_restful_services_yn => 'Y'

Oracle also made available patch 14777994 downloadable from My Oracle Support to fix this problem.


See message translations for ORA-02291 and search additional resources.

Tuesday, November 29, 2011

A little quirk in Apex 4.0.1 page copy utility

Always check out the original article at http://www.oraclequirks.com for latest comments, fixes and updates.

I made a cursory search for a list of bugs present in Oracle Application Express 4.0.1 or 4.0.2 and fixed in 4.1, but I could not locate this little bug.
Here it is: say you need to copy page 1 to page 3.
Apex will duly search and replace the occurrence of the various forms of page items named like "P1something" so you'll end up with page 3 and all your nicely renamed page items like "P3something".
Almost.
I just found out that at least in the item condition "Expression 1" attribute, if you have an item like "P100something" (which refers to page 100, not page 1), it will be changed to "P300something", which is wrong. I didn't perform other variations on this scheme, but it looks like the replacements are made simply checking for a "P" followed by the page number being copied, no matter if there are other digits after it.

I couldn't verify if this occurs also in Apex 4.1, but chances are it will, I guess this find and replace stuff must be there since ages.

PS: on the same subject, I also noticed that any page items like &P1something. located inside the attribute "Post element text" won't be renamed at all. And this is another little quirk.

Friday, September 17, 2010

ORA-31694: master table "SYS"."SYS_IMPORT_FULL_01" failed to load/unload

Always check out the original article at http://www.oraclequirks.com for latest comments, fixes and updates.

It's amazing how much time one can waste because of certain bugs.
Yesterday evening i got the following stack of errors upon importing (IMPDP) a dump made on Oracle 11.1.0.7.0 to 11.1.0.6.0.
ORA-39002: invalid operation
ORA-31694: master table "SYS"."SYS_IMPORT_FULL_01" failed to load/unload
ORA-02354: error in exporting/importing data
ORA-02373: Error parsing insert statement for table "SYS"."SYS_IMPORT_FULL_01".
ORA-00904: "ORIGINAL_OBJECT_NAME": invalid identifier
My first reaction was to tamper with the IMPDP parameters, on the false assumption that i was doing something wrong (who knows why i always assume I'm wrong...).
After various attempts, i started looking around and found several references that unfortunately were misleading. Someone claimed a VERSION=11.1.0.6.0 parameter was missing, another suggested a wrong character set or a corrupt dump and so on. Every round implied a new dump to be made available by the customer, downloaded and imported.
Finally, this morning, i found a rather recent OTN thread were it was made clear that the above errors are a consequence of bug 7590679 in 11.1.0.7.

The quick solution is to perform the export (EXPDP) adding parameter VERSION=10.2 (with some caveats as per cited metalink note) or alternatively install the patch for upgrading from 11.1.0.6 to 11.1.0.7.

As an experiment i also tried importing the downgraded dump to XE and it worked like a charm.

See message translations for ORA-31694 and search additional resources.

Monday, February 08, 2010

Tale of a strange quirk in apex session state initialization

Always check out the original article at http://www.oraclequirks.com for latest comments, fixes and updates.

Today was a good day because i finally managed to allocate some time and get to the bottom of an old standing issue that I've been encountering at intermittent times during the last five or six years spent developing applications with Apex:

how come that sometimes page item initialization doesn't *always* work as advertised?

In brief, items, page and region items alike, come with a source value attribute that may contain an initialization value. This value can be set in a variety of ways, most common being a static value, a query or a PL/SQL expression.
Now, given Apex defaults, the most frequent usage pattern for an item is to define a source value of type static assignment to be used only when current value in session state is null.

For instance, say we have a region containing an item called P20_MAX_ROWS and we want to initialize it to 11.


Now, say we have a report in a nearby region based on a query like this:
select page_name
from apex_application_pages
where application_id = :APP_ID
and rownum <= :P20_MAX_ROWS
I guess that everybody would expect to see a report displaying a maximum of 11 rows (or less).
What you get instead is an empty report.

In other words, if you have a report containing an item belonging to a different region and this item is used in the WHERE clause, it's very likely that you get an inconsistent or empty report (it depends on the WHERE conditions of course) upon the first loading of the page. Subsequent page loads may not be affected if the page is submitted and session state is consequently updated, hence it's easy to be puzzled by this behavior.

This behavior seems to be "consistent" throughout various Apex releases, including the most recent one, 3.2.1, as shown in the linked test page.

It's interesting to note that:
  1. the type of source value (static, pl/sql expression or sql query) doesn't seem to make any difference.
  2. if we relocate the item inside the report region, the initialization seems to work just fine and the report is generated correctly.
If we cannot relocate the item to the report region, then another workaround is to add a before header computation for initializing the item(s).

This is the way I've always dealt with this problem until now, even without knowing exactly what was wrong with item initialization, but this isn't always the best approach, it's much better to know how and when a certain feature will work or not.

Thursday, January 07, 2010

Dispatcher process taking 99% of CPU on Oracle XE after an Apex request

Always check out the original article at http://www.oraclequirks.com for latest comments, fixes and updates.

If you are an enthusiastic user of Apex in combination with Oracle XE as i am, you may have encountered the following issue sometimes: suddenly a process called dispatcher (xe_dnnn) starts consuming 99% of CPU time without any apparent reason.
Unfortunately i failed to find a way to reproduce the problem systematically and, even in that case, Oracle XE is not supported, so there are no chances to get a patch from Oracle.

Although i said there is no apparent reason for this, i have the feeling this problem is triggered by some odd http request made by browsers like Safari and Google Chrome. I am saying this because i am quite sure i was using one of those browsers when this type of event occurred and it never occurred with Firefox.

Today i managed to find a sort of workaround that, at least, doesn't require to bounce the instance to get things back to normal.
I ignore if this problem affects the Windows version as XE is running on top of Ubuntu Linux in my case.

I am assuming that you have already realized that something odd is going on in the database server.
Looking at the running processes in the graphical system monitor of Ubuntu will just report some oracle process taking 99% of the CPU, but still there is no indication of which particular process is the culprit.
You must turn to the console to find out which one is actually consuming most of the CPU:

ps -eo "user,pid,ppid,pcpu,cmd" --sort pcpu | grep xe_


You can also run the following command to get an auto-refreshing snapshot of the situation:

top -u oracle

Now, assuming that the row with the highest CPU usage refers to the oracle process called xe_d000 and provided we have to live with this bug, what can we do to keep the ball rolling?

First of all, we (or the DBA) can kill the dispatcher process:
ALTER SYSTEM SHUTDOWN IMMEDIATE 'D000'; -- the number depends on the output of the ps command
Notice: if this command doesn't work, something that could happen if the process is unresponsive, on a linux/unix box you can the related o/s process.
KILL -9 pid
where pid is the oracle process id for D000.
I fear that on Windows you cannot kill a single thread as easily.

While there are no other active dispatcher processes available, all web clients will receive http 404 errors when attempting to load an Apex page.
Then we can issue the command to recreate at least one dispatcher process.
ALTER SYSTEM
SET DISPATCHERS =
'(PROTOCOL=TCP)(DISPATCHERS=1)(INDEX=0)';
The default number of dispatchers on Oracle XE is 1, but it can be increased if required, in order to support a higher number of concurrent connections.
You can find some information about shared server processes and dispatchers in the Administrator's Guide for Oracle 10R2, while waiting for Oracle to release the new express edition based on Oracle 11GR2, (hopefully soon?)

Updated March 9, 2010:
thanks to Jens who reported a missing parenthesis and provided a "roadmap" for restoring the service. See the comments section.

Wednesday, September 23, 2009

The strange case of DBMS_AQ.DEQUEUE_ARRAY returning zero messages

Always check out the original article at http://www.oraclequirks.com for latest comments, fixes and updates.

After a fortnight spent working with DBMS_AQ and DBMS_AQADM packages, i'd be ready to feed oraclequirks with interesting situations for days, if not weeks if only i had enough time to do so.
Unfortunately i am rather busy sorting out some important stuff before leaving or OOW 2009, so i decided to pick one of my favorite AQ (Advanced Queuing) quirks concerning bulk dequeuing of messages, via DBMS_AQ.DEQUEUE_ARRAY in Oracle 10gR2 (XE on Xubuntu linux), as this situation may easily drive you mad.

create or replace
procedure MESSAGE_READER as
dequeue_options dbms_aq.dequeue_options_t;
msg_prop_in_array dbms_aq.message_properties_array_t;
msgid_in_array dbms_aq.msgid_array_t;
type payload_array is varray(30) of payload_type;
msg_in_array payload_array;
l_msgs_in pls_integer;
begin
msg_prop_in_array := dbms_aq.message_properties_array_t();
msg_in_array := payload_array();
msgid_in_array := dbms_aq.msgid_array_t();

dequeue_options.navigation := DBMS_AQ.FIRST_MESSAGE;
dequeue_options.consumer_name := 'MESSAGE_READER';
dequeue_options.wait := DBMS_AQ.NO_WAIT;

l_msgs_in := dbms_aq.dequeue_array(
queue_name => 'INBOX',
dequeue_options => dequeue_options,
array_size => 30,
message_properties_array => msg_prop_in_array,
payload_array => msg_in_array,
msgid_array => msgid_in_array);

...
end;
The most interesting property of this procedure is that it runs without raising any errors, but simply doesn't dequeue any messages from the queue.
So, you see you queue full of messages in READY state, but the procedure doesn't pull out any data.
The value returned by DBMS_AQ.DEQUEUE_ARRAY function and stored into variable l_msgs_in remains zero and the collection remains empty, however no exceptions are raised.

While i felt that something weird must be going on behind the scenes, i did not figure out the solution until i read this thread on OTN.
As soon as i declared the type as a stand-alone SQL type, in contrast with the PL/SQL declaration above (in red color), the procedure started working properly.

create type type payload_array as varray(30) of payload_type;

create or replace
procedure MESSAGE_READER as
dequeue_options dbms_aq.dequeue_options_t;
msg_prop_in_array dbms_aq.message_properties_array_t;
msgid_in_array dbms_aq.msgid_array_t;
msg_in_array payload_array;
l_msgs_in pls_integer;
begin
msg_prop_in_array := dbms_aq.message_properties_array_t();
msg_in_array := payload_array();
msgid_in_array := dbms_aq.msgid_array_t();

dequeue_options.navigation := DBMS_AQ.FIRST_MESSAGE;
dequeue_options.consumer_name := 'MESSAGE_READER';
dequeue_options.wait := DBMS_AQ.NO_WAIT;

l_msgs_in := dbms_aq.dequeue_array(
queue_name => 'INBOX',
dequeue_options => dequeue_options,
array_size => 30,
message_properties_array => msg_prop_in_array,
payload_array => msg_in_array,
msgid_array => msgid_in_array);

...
end;
Don't ask me why.
I ignore if this problem or bug, whatever we wanna call it, has been fixed in subsequent releases and/or it affects all platforms.

Tuesday, May 12, 2009

A view for tracking build options usage in Apex

Always check out the original article at http://www.oraclequirks.com for latest comments, fixes and updates.

Did you ever need to find out where a certain build option was specified inside an apex application?

Build options are a useful feature of Oracle Application Express that allows a developer to enable or disable certain functions or components by simply changing the value of the associated flag (Include/Exclude).
In other words build options allow you change the configuration of an application without modifying the metadata.

Unfortunately, unlike other components, Apex doesn't help much the developer with a report on the usage of build options throughout the application and given their ubiquity it is really useful to run a single query that summarizes the information.

Follow the link to download the source code of APX_BUILD_OPTION_USAGE view.


While testing the view i realized also that there was a bug in view APEX_APPLICATION_PAGE_REGIONS.
In the picture above, all page regions build options are reported as {Not production}, but the real build option value is Production.
After checking the source code of the view i can confirm that BUILD_OPTION is returning the wrong value owing to a mistake in a subquery, so in the particular case of this view you should consider only the presence of the build option name, not its reported inclusion or exclusion.
This bug affects Apex 3.2, 3.1.2 and probably earlier versions.

See more articles about Oracle Application Express or download tools and utilities.

Friday, April 10, 2009

LD_LIBRARY_PATH is not set! in alert_XE.log

Always check out the original article at http://www.oraclequirks.com for latest comments, fixes and updates.

This morning i discovered the following messages in the alertXE.log, located in the bdump folder of a xubuntu virtual machine:

Fri Apr 10 15:01:15 2009
Starting ORACLE instance (normal)
Cannot determine all dependent dynamic libraries for /proc/self/exe
Unable to find dynamic library libocr10.so in search paths
RPATH = /ade/aime1_build2101/oracle/has/lib/:/ade/aime1_build2101/oracle/lib/:/ade/aime1_build2101/oracle/has/lib/:
LD_LIBRARY_PATH is not set!
The default library directories are /lib and /usr/lib
Unable to find dynamic library libocrb10.so in search paths
Unable to find dynamic library libocrutl10.so in search paths
Unable to find dynamic library libocrutl10.so in search paths
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Picked latch-free SCN scheme 2
Using LOG_ARCHIVE_DEST_10 parameter default value as USE_DB_RECOVERY_FILE_DEST
Autotune of undo retention is turned on.
IMODE=BR
ILAT =10
LICENSE_MAX_USERS = 0
SYS auditing is disabled
ksdpec: called for event 13740 prior to event group initialization
Starting up ORACLE RDBMS Version: 10.2.0.1.0.
...
After a quick search on the web, i read this posting from Mohammad, so i concluded i was not the first one to see this error...
He suggests to set the variable LD_LIBRARY_PATH in the .bash_profile or .profile of the oracle user, however i preferred to change the main startup script located in /etc/init.d containing the settings for most of the Oracle variables, as shown in the image:



After fixing oracle-xe, the alert_XE.log file doesn't show anymore the warning messages:
Fri Apr 10 15:06:43 2009
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Picked latch-free SCN scheme 2
Using LOG_ARCHIVE_DEST_10 parameter default value as USE_DB_RECOVERY_FILE_DEST
Autotune of undo retention is turned on.
IMODE=BR
ILAT =10
LICENSE_MAX_USERS = 0
SYS auditing is disabled
ksdpec: called for event 13740 prior to event group initialization
Starting up ORACLE RDBMS Version: 10.2.0.1.0.
...
Someone may argue that changing the script does not guarantee against future installations (or re-installations), however hopefully Oracle will fix the bug in the meantime, so Oracle 11XE will not be affected by this flaw.

In the end i'd be curious to know which functionality was affected by the bug because this Oracle instance has been running for quite some time without showing any particular problems.

Friday, January 16, 2009

SQL Developer, Mac OS X and the weird bug of key presets

Always check out the original article at http://www.oraclequirks.com for latest comments, fixes and updates.

A quick note for those who came across a weird bug in Oracle SQL Developer that makes its editor virtually useless under Mac OS X.
If you are wondering why suddenly the backspace key doesn't work or the arrow keys simply do nothing, it seems that, for some reason currently being investigated, the keyboard preset for Mac OS X is not correctly applied or it's not properly loaded.
If you go to the menu TOOLS/PREFERENCES/ACCELERATORS, then you click on the button Load Preset, and finally you choose "default Mac OS X", you should be able to get the keys to work again.
And thanks to -K- for the useful workaround!




See the OTN thread where this problem is discussed.

Apparently this elusive bug affects SQL Developer both 1.5.1, 1.5.3 and possibly 1.5.4 according to Sue's reply.

Thursday, September 04, 2008

ERR-1016 Application "4350" Page "1" not found (requested language="en-us")

Always check out the original article at http://www.oraclequirks.com for latest comments, fixes and updates.

Since the migration to apex 3.1, i've been haunted by a strange login problem affecting both my apex hosting provider and apex.oracle.com.

Whenever i try to access my workspace administrator account using the traditional URL like:

http://apex.oracle.com/pls/otn/f?p=4550

the browser is automatically redirected to a modified URL:

http://apex.oracle.com/pls/otn/f?p=4550:1:2428688524539937::::FSP_AFTER_LOGIN_URL:\f?p=4350|1\
The last portion of this URL is setting the value of the application item FSP_AFTER_LOGIN_URL to a nonexisting page, indeed if i press the login button, i get:

ERR-1016 Application "4350" Page "1" not found (requested language="en-us")
A simple workaround i've found is to change the original URL by appending the page number:

http://apex.oracle.com/pls/otn/f?p=4550:1
There must be something odd in the redirection mechanism of Apex 3.1 because this didn't happen with earlier releases.

Thursday, September 27, 2007

in case SQL Developer hangs when saving a DDL to file...

SQL Developer (Raptor) build 1.2.0.29.98 (using JDK1.5.0_06) for Windows platform.
Every time i try to save a package source using the context menu Export DDL/Save to file, SQL Developer hangs (but if i choose Save to Clipboard it works).
I don't know if this applies to other object types as well.

I tried using the built-in Check Updates feature but for some reason no available upgrade was reported, however, after visiting the download page, i realized that a newer version was available indeed (1.2.1.32.13) and, after installing it, the problem is gone.

Interestingly enough there is no such bug entry in the fixed bugs list, so i wonder if this is a machine configuration dependent bug.

Last but not least, let me praise the upgrade mechanism of SQLDeveloper: unpack the zip file on top of the existing folder and you're done.
Wonderful!

Just to let you know.

Friday, September 07, 2007

When the label template copy doesn't work

Apex 3.0.1:
if you click on the "edit templates" icon from within a page definition, page 4003 opens up.
It's a report listing all the templates available for the application and on the right hand side there is a handy "copy this template" icon.
It turns out that for Label templates only the copy procedure will not work, although a success message is shown.

This has been confirmed as a bug in version 3.0.1 as per this OTN forum entry where also a quick workaround has been suggested by Carl Backstrom.

Thursday, August 09, 2007

ORA-01400: cannot insert NULL into ("FLOWS_030000"."WWV_FLOW_INSTALL_SCRIPTS"."INSTALL_ID")

I just found out an elusive quirk in the Application Builder.

ORA-01400: cannot insert NULL into ("FLOWS_030000"."WWV_FLOW_INSTALL_SCRIPTS"."INSTALL_ID")

I documented the full page flow for reproducing the problem in this OTN forum thread, so i am not going to repeat myself, i assume you know what my fellow citizen Niccolò Paganini was used to say ... ;-)

One workaround for this problem is to not use the DHMTL menu (the nice cascading menu that pops up when you press on the black arrow on the right hand side of the Application Builder icon) but just click on the icon and go to the main Supporting Objects page and then clicking on the installation scripts from there.

I don't expect this problem to happen many times, from the tests I've made it only occurs when you are creating a brand new application from scratch and then you are trying to create a supporting object script right away.

See message translations for ORA-01400 and search additional resources.

Wednesday, June 27, 2007

Apex's sVista

If you have a multi language application in Apex 3.0.0.00.20 and you execute the following query:

select WORKSPACE, APPLICATION_ID, TRANSLATABLE_MESSAGE,
LANGUAGE_CODE, MESSAGE_TEXT, LAST_UPDATED_ON, LAST_UPDATED_BY
from APEX_APPLICATION_TRANSLATIONS
where LAST_UPDATED_ON is not null;

if you get any rows back, you can notice that the two columns names do not match their real content data type:

LAST_UPDATED_ON contains a user name (VARCHAR2) while LAST_UPDATED_BY contains a date.

Just a minor bug i suppose, but who knows if oracle will keep the view as it is for backward compatibility...

That's all for today.

PS: "svista" in italian sounds like "mistake", whereas "vista" is the translation of view.

Monday, May 28, 2007

Apex Session state protection violation

You can get the following verbose error message in Oracle Application Express (Apex) 3.0.0.00.20 when you try to open the "Create" script page from the dynamic menu tree of SQL Workshop:


Session state protection violation:
This may be caused by manual alteration of a URL containing a checksum
or by using a link with an incorrect or missing checksum.
If you are unsure what caused this error, please contact
the application administrator for assistance.
The workaround is to click on the big icon of SQL Scripts and open the "Create" page from there.

Oddly enough this problem seems to affect only sessions started with the English language, because i didn't get any error when i tried to do the same with the browser's language set to "es-mx" or "it".

yes you can!

Two great ways to help us out with a minimal effort. Click on the Google Plus +1 button above or...
We appreciate your support!

latest articles