PL/SQL Limit When Dealing with a CLOB?
Greetings,
I am constructing HTML into a CLOB in a PL/SQL routine which I later display in an APEX application. The HTML can get large, because I am constructing a grid over an image, and the grid can have a lot of columns and rows which means there can be a lot of <area shape="rect" HTML lines. I did a search and found that another person had the same problem, because there is a 32K limit with HTML contents. That was very helpful.
Thing is - I have another (maybe similar) issue. The procedure that constructs the HTML gets a numeric error when the number of cells in the grid reach a certain point. I checked and this happens when the CLOB in the procedure gets close to 32K. Sorry, it difficult to know exactly when it fails, but the most I have been able to put into the CLOB is 32,852 characters. Therefore my question - is there in internal limit in PL/SQL (or some other Oracle aspect) that is limited to 32K? The coluimn in the table that contains the HTML is a CLOB and the variable in the PL/SQL that the HTML is parsed into is a CLOB, so I thought I was good to go since the CLOB limit is 4GB. But, it looks like I may be missing something.
We are running Oracle 11i and APEX 4.0.2.00.07. If other system info is needed let me know and I will get that for you.
Also, if it helps. The code from the procedure is copied below. v_html is the variable that holds the HTML. The table column for the HTML is imagemap_html. Both v_html and imagemap_html are defined as CLOB's.
Thanks, Tony
= = = = = = =
create or replace
procedure create_grid (p_action IN VARCHAR2) as
v_wcount integer := 0;
v_wmax integer := 20;
v_width integer := 720;
v_w1 integer := 0;
v_w2 integer := 0;
v_winc integer := 0;
v_wstart integer := 0;
v_wend integer := 0;
v_hcount integer := 0;
v_hmax integer := 10;
v_height integer := 520;
v_h1 integer := 0;
v_h2 integer := 0;
v_hinc integer := 0;
v_hstart integer := 0;
v_hend integer := 0;
v_cell_row integer := 0;
v_cell_col integer := 0;
v_cell_title varchar2(10) := NULL;
v_whitespace varchar2(10) := NULL;
v_url_1 varchar2(100) := NULL;
v_url_2 varchar2(100) := NULL;
v_url_3 varchar2(100) := NULL;
v_brand_id integer := 0;
v_division_id integer := 0;
v_plant_id integer := 0;
v_model_id integer := 0;
v_acc_group integer := 0;
v_accessory integer := 0;
v_acc_grp integer := 0;
v_acc integer := 0;
v_station_id integer := 0;
v_substation_id integer := 0;
v_image_id integer := 0;
v_id integer := 0;
v_html clob;
begin
v_brand_id := v('P4_BRAND_ID');
v_division_id :=v('P4_DIVISION_ID');
v_plant_id := v('P4_PLANT_ID');
v_model_id := v('P4_MODEL_ID');
v_acc_group := v('P4_ACC_GROUP');
v_accessory := v('P4_ACCESSORY');
v_station_id := v('P4_STATION_ID');
v_substation_id := v('P4_SUBSTATION_ID');
v_image_id := v('P4_IMAGES_ID');
v_wmax := v('P4_COLUMNS');
v_hmax := v('P4_ROWS');
v_wstart := v('P4_XSTART');
v_hstart := v('P4_YSTART');
v_wend := v('P4_XEND');
v_hend := v('P4_YEND');
v_whitespace := v('P4_WHITESPACE');
if p_action = 'INSERT' then
-- insert the row now, so that the cell table rows can be inserted with the correct FK
insert into IM_TEMPLATE_DRAFT
(plant_id, brand_id, division_id, model_id, acc_group, accessory, station_id,
substation_id, image_id)
values
(v_plant_id,v_brand_id,v_division_id,v_model_id,v_acc_group,v_accessory,v_station_id,v_substation_id,v_image_id);
commit;
end if;
-- get the id of the row that was just inserted
select header_id into v_id from IM_TEMPLATE_DRAFT where
plant_id=v_plant_id and brand_id=v_brand_id and division_id=v_division_id and
model_id=v_model_id and acc_group=v_acc_group and accessory=v_accessory and
station_id=v_station_id and substation_id=v_substation_id and image_id=v_image_id;
-- remove all the cell rows for the draft, they will be created anew
delete from qcis_draft_cells where draft_id = v_id;
BEGIN
select pixel_width, pixel_height into v_width, v_height from images
where images_id = v_image_id;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_height := 720;
v_width := 520;
END;
-- the first part of the href for the image is stored in the keyword table and put into v_url_1 for use later
BEGIN
select keyword_value into v_url_1 from qcis_keywords
where keyword_type = 'Control' and keyword_code = 'URL_PATH';
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_url_1 := 'http://xxx.xxx.com:8000/apex40/f?p=';
END;
-- construct the first three lines of the div tag
v_html := '<div style="text-align:center; width:'||v_width||'px; margin-left:auto; margin-right:auto;">';
v_html := v_html || chr(10) || '<img id="ImageMap" src="download_image?p_id='||v_image_id||'" usemap="#ImageMap" border="0" width="'||v_width||'" height="'||v_height||'" alt="" />';
v_html := v_html || chr(10) || '<map id="_ImageMap" name="ImageMap">';
-- subtract the ending inset amounts from the image dimensions
v_width := v_width - v_wend;
v_height := v_height - v_hend;
-- calculate the increment for each cell and subtract the starting inset amounts
v_winc := floor((v_width - v_wstart) / v_wmax);
v_hinc := floor((v_height - v_hstart) / v_hmax);
-- there are two main loops, one for the columns, one for the rows
-- one loop is inside the other, which helps to build the cells in logical order and helps with the naming of the cells
loop
-- if this is the first row (count = 0) and they have inset values we need to adust the first x y values to something other than zero
if ((v_wstart != 0) and (v_wcount = 0)) then v_w1 := v_wstart; end if;
if ((v_hstart != 0) and (v_hcount = 0)) then v_h1 := v_hstart; end if;
if ((v_wstart != 0) and (v_wcount = 0)) then v_w2 := v_wstart; end if;
if ((v_hstart != 0) and (v_hcount = 0)) then v_h2 := v_hstart; end if;
v_wcount := v_wcount + 1;
v_w2 := v_w2 + v_winc;
-- checking to see if this is the last row and whether they want the grid to go to the end or have all cells the same size which may leave whitespace
if (v_wcount = v_wmax) and (v_whitespace = 'Y') then v_w2 := v_width - 2; end if;
v_cell_row := 0;
v_cell_col := v_cell_col +1;
loop
v_hcount := v_hcount + 1;
v_h2 := v_h2 + v_hinc;
-- checking to see if this is the last row and whether they want the grid to go to the end or have all cells the same size which may leave whitespace
if (v_hcount = v_hmax) and (v_whitespace = 'Y') then v_h2 := v_height - 2; end if;
v_cell_row := v_cell_row + 1;
-- put it all together and construct the line for the area shape tag
v_html := v_html || chr(10) || '<area shape="rect" coords="'
||v_w1||','||v_h1||','||v_w2||','||v_h2||
'" href="'||v_url_1|| '" alt="'||v_cell_col||'-'||v_cell_row||'" title="'||v_cell_col||'-'||v_cell_row||'" />';
v_cell_title := v_cell_col||'-'||v_cell_row;
insert into DRAFT_CELLS (DRAFT_ID, CELL_TITLE) values(v_id, v_cell_title);
v_h1 := v_h1 + v_hinc;
exit when v_hcount = v_hmax;
end loop;
v_hcount := 0;
v_h1 := 0;
v_h2 := 0;
v_w1 := v_w1 + v_winc;
exit when v_wcount = v_wmax;
end loop;
v_html := v_html || chr(10) || '</div>';
update IM_TEMPLATE_DRAFT set imagemap_html = v_html
where header_id = v_id;
END create_grid;Edited by: cloaked on Nov 7, 2011 4:45 AM
For "Application Express 4.2.1.00.08" i created such good solution.
I downloaded freeware plugin "Enkitec Clob Load Plug-in Version: 1.0.0 - APEX Version: 4.2.0" from there:
http://www.enkitec.com/products/plugins/clob-load/help
Then i followed plugin installation steps and created a APEX page where i added an item of type "Rich Text Editor".
I found the plugin crashes when my database CLOB field is empty, also crashed when i tried to save down empty value to database.
I changed Plugin code a little, and now everything works as needed, i can save down larga data, and also empty data.
1. In Apex open plugin "Enkitec CLOB Load".
2. Navigate to "Source-->PL/SQL Code" where is text area with plugin source code.
3. there you have such code:
FUNCTION enkitec_clob_load_render (
p_dynamic_action IN APEX_PLUGIN.T_DYNAMIC_ACTION,
p_plugin IN APEX_PLUGIN.T_PLUGIN
RETURN APEX_PLUGIN.T_DYNAMIC_ACTION_RENDER_RESULT
IS
l_retval APEX_PLUGIN.T_DYNAMIC_ACTION_RENDER_RESULT;
l_show_modal VARCHAR2(1) := p_plugin.attribute_01;
l_dialog_title VARCHAR2(4000) := NVL(p_plugin.attribute_02, 'Please wait...');
l_loading_img_type VARCHAR2(30) := p_plugin.attribute_03;
l_loading_img_c VARCHAR2(4000) := p_plugin.attribute_04;
l_action VARCHAR2(10) := NVL(p_dynamic_action.attribute_01, 'RENDER');
l_change_only VARCHAR2(1) := NVL(p_dynamic_action.attribute_06, 'Y');
l_make_blocking VARCHAR2(1) := NVL(p_dynamic_action.attribute_07, 'Y');
l_loading_img_src VARCHAR2(32767);
l_crlf VARCHAR2(2) := CHR(13)||CHR(10);
l_js_function VARCHAR2(32767);
l_onload_code VARCHAR2(32767);
BEGIN
IF apex_application.g_debug
THEN
apex_plugin_util.debug_dynamic_action(
p_plugin => p_plugin,
p_dynamic_action => p_dynamic_action
END IF;
IF l_loading_img_type = 'DEFAULT'
THEN
l_loading_img_src := p_plugin.file_prefix || 'enkitec-loading.gif';
ELSE
l_loading_img_src := REPLACE(l_loading_img_c, '#IMAGE_PREFIX#', apex_application.g_image_prefix);
l_loading_img_src := REPLACE(l_loading_img_src, '#PLUGIN_PREFIX#', p_plugin.file_prefix);
END IF;
apex_css.add(
p_css => '.clob-load-dialog .ui-dialog-titlebar-close {display: none;}',
p_key => 'clob-load-hide-modal-close'
apex_javascript.add_library(
p_name => 'enkitec-clob-load.min',
p_directory => p_plugin.file_prefix,
p_version => NULL
l_onload_code :=
'apex.jQuery(document).clob_load({'|| l_crlf ||
' showModal: "' || l_show_modal ||'",'|| l_crlf ||
' dialogTitle: "' || l_dialog_title ||'",'|| l_crlf ||
' loadingImageSrc: "' || l_loading_img_src ||'",'|| l_crlf ||
' pluginFilePrefix: "' || p_plugin.file_prefix || '",' || l_crlf ||
' apexImagePrefix: "' || apex_application.g_image_prefix || ',"' || l_crlf ||
apex_javascript.add_onload_code(
p_code => l_onload_code
IF l_action = 'RENDER'
THEN
l_js_function :=
'function(){'|| l_crlf ||
' apex.jQuery(document).clob_load("renderClob", {' || l_crlf ||
' $elmt: this.affectedElements.eq(0),' || l_crlf ||
' ajaxIdentifier: "' || apex_plugin.get_ajax_identifier() || '"' || l_crlf ||
' });'|| l_crlf ||
ELSE
l_js_function :=
'function(){'|| l_crlf ||
' apex.jQuery(document).clob_load("submitClob", {' || l_crlf ||
' $elmt: this.affectedElements.eq(0),' || l_crlf ||
' ajaxIdentifier: "' || apex_plugin.get_ajax_identifier() || '",' || l_crlf ||
' changeOnly: "' || l_change_only || '",' || l_crlf ||
' makeBlocking: "' || l_make_blocking || '"' || l_crlf ||
' });'|| l_crlf ||
END IF;
l_retval.javascript_function := l_js_function;
RETURN l_retval;
END enkitec_clob_load_render;
FUNCTION enkitec_clob_load_ajax (
p_dynamic_action IN APEX_PLUGIN.T_DYNAMIC_ACTION,
p_plugin IN APEX_PLUGIN.T_PLUGIN
RETURN APEX_PLUGIN.T_DYNAMIC_ACTION_AJAX_RESULT
IS
l_retval APEX_PLUGIN.T_DYNAMIC_ACTION_AJAX_RESULT;
l_ajax_function VARCHAR2(32767) := apex_application.g_x01;
l_source VARCHAR2(20) := NVL(p_dynamic_action.attribute_02, 'COLLECTION');
l_render_collection_name VARCHAR2(255) := p_dynamic_action.attribute_03;
l_query VARCHAR2(32767) := p_dynamic_action.attribute_04;
l_submit_collection_name VARCHAR2(255) := p_dynamic_action.attribute_05;
l_column_value_list APEX_PLUGIN_UTIL.T_COLUMN_VALUE_LIST2;
l_clob_text CLOB := EMPTY_CLOB();
l_token VARCHAR2(32000);
l_chunk_size NUMBER := 4000;
BEGIN
IF l_ajax_function = 'RENDER_CLOB'
THEN
IF l_source = 'COLLECTION'
THEN
IF apex_collection.collection_exists(l_render_collection_name)
THEN
SELECT clob001
INTO l_clob_text
FROM apex_collections
WHERE collection_name = l_render_collection_name
AND seq_id = 1;
END IF;
ELSE --must be SQL_QUERY
BEGIN
l_column_value_list := apex_plugin_util.get_data2(
p_sql_statement => l_query,
p_min_columns => 1,
p_max_columns => 1,
p_component_name => p_dynamic_action.action,
p_first_row => 1,
p_max_rows => 1
EXCEPTION
WHEN NO_DATA_FOUND
THEN
NULL;
END;
IF l_column_value_list.exists(1)
AND l_column_value_list(1).value_list.exists(1)
THEN
l_clob_text := l_column_value_list(1).value_list(1).clob_value;
END IF;
END IF;
FOR i IN 0 .. FLOOR(LENGTH(l_clob_text)/l_chunk_size)
LOOP
sys.htp.prn(substr(l_clob_text, i * l_chunk_size + 1, l_chunk_size));
END LOOP;
ELSE --must be SUBMIT_CLOB
dbms_lob.createtemporary(l_clob_text, false, dbms_lob.session);
FOR i IN 1..apex_application.g_f01.count
LOOP
l_token := wwv_flow.g_f01(i);
dbms_lob.writeappend(l_clob_text, length(l_token), l_token);
END LOOP;
apex_collection.create_or_truncate_collection(
p_collection_name => l_submit_collection_name
apex_collection.add_member(
p_collection_name => l_submit_collection_name,
p_clob001 => l_clob_text
END IF;
RETURN l_retval;
END enkitec_clob_load_ajax;4. Change this code to this code:
FUNCTION enkitec_clob_load_render (
p_dynamic_action IN APEX_PLUGIN.T_DYNAMIC_ACTION,
p_plugin IN APEX_PLUGIN.T_PLUGIN
RETURN APEX_PLUGIN.T_DYNAMIC_ACTION_RENDER_RESULT
IS
l_retval APEX_PLUGIN.T_DYNAMIC_ACTION_RENDER_RESULT;
l_show_modal VARCHAR2(1) := p_plugin.attribute_01;
l_dialog_title VARCHAR2(4000) := NVL(p_plugin.attribute_02, 'Please wait...');
l_loading_img_type VARCHAR2(30) := p_plugin.attribute_03;
l_loading_img_c VARCHAR2(4000) := p_plugin.attribute_04;
l_action VARCHAR2(10) := NVL(p_dynamic_action.attribute_01, 'RENDER');
l_change_only VARCHAR2(1) := NVL(p_dynamic_action.attribute_06, 'Y');
l_make_blocking VARCHAR2(1) := NVL(p_dynamic_action.attribute_07, 'Y');
l_loading_img_src VARCHAR2(32767);
l_crlf VARCHAR2(2) := CHR(13)||CHR(10);
l_js_function VARCHAR2(32767);
l_onload_code VARCHAR2(32767);
BEGIN
IF apex_application.g_debug
THEN
apex_plugin_util.debug_dynamic_action(
p_plugin => p_plugin,
p_dynamic_action => p_dynamic_action
END IF;
IF l_loading_img_type = 'DEFAULT'
THEN
l_loading_img_src := p_plugin.file_prefix || 'enkitec-loading.gif';
ELSE
l_loading_img_src := REPLACE(l_loading_img_c, '#IMAGE_PREFIX#', apex_application.g_image_prefix);
l_loading_img_src := REPLACE(l_loading_img_src, '#PLUGIN_PREFIX#', p_plugin.file_prefix);
END IF;
apex_css.add(
p_css => '.clob-load-dialog .ui-dialog-titlebar-close {display: none;}',
p_key => 'clob-load-hide-modal-close'
apex_javascript.add_library(
p_name => 'enkitec-clob-load.min',
p_directory => p_plugin.file_prefix,
p_version => NULL
l_onload_code :=
'apex.jQuery(document).clob_load({'|| l_crlf ||
' showModal: "' || l_show_modal ||'",'|| l_crlf ||
' dialogTitle: "' || l_dialog_title ||'",'|| l_crlf ||
' loadingImageSrc: "' || l_loading_img_src ||'",'|| l_crlf ||
' pluginFilePrefix: "' || p_plugin.file_prefix || '",' || l_crlf ||
' apexImagePrefix: "' || apex_application.g_image_prefix || ',"' || l_crlf ||
apex_javascript.add_onload_code(
p_code => l_onload_code
IF l_action = 'RENDER'
THEN
l_js_function :=
'function(){'|| l_crlf ||
' apex.jQuery(document).clob_load("renderClob", {' || l_crlf ||
' $elmt: this.affectedElements.eq(0),' || l_crlf ||
' ajaxIdentifier: "' || apex_plugin.get_ajax_identifier() || '"' || l_crlf ||
' });'|| l_crlf ||
ELSE
l_js_function :=
'function(){'|| l_crlf ||
' apex.jQuery(document).clob_load("submitClob", {' || l_crlf ||
' $elmt: this.affectedElements.eq(0),' || l_crlf ||
' ajaxIdentifier: "' || apex_plugin.get_ajax_identifier() || '",' || l_crlf ||
' changeOnly: "' || l_change_only || '",' || l_crlf ||
' makeBlocking: "' || l_make_blocking || '"' || l_crlf ||
' });'|| l_crlf ||
END IF;
l_retval.javascript_function := l_js_function;
RETURN l_retval;
END enkitec_clob_load_render;
FUNCTION enkitec_clob_load_ajax (
p_dynamic_action IN APEX_PLUGIN.T_DYNAMIC_ACTION,
p_plugin IN APEX_PLUGIN.T_PLUGIN
RETURN APEX_PLUGIN.T_DYNAMIC_ACTION_AJAX_RESULT
IS
l_retval APEX_PLUGIN.T_DYNAMIC_ACTION_AJAX_RESULT;
l_ajax_function VARCHAR2(32767) := apex_application.g_x01;
l_source VARCHAR2(20) := NVL(p_dynamic_action.attribute_02, 'COLLECTION');
l_render_collection_name VARCHAR2(255) := p_dynamic_action.attribute_03;
l_query VARCHAR2(32767) := p_dynamic_action.attribute_04;
l_submit_collection_name VARCHAR2(255) := p_dynamic_action.attribute_05;
l_column_value_list APEX_PLUGIN_UTIL.T_COLUMN_VALUE_LIST2;
l_clob_text CLOB := EMPTY_CLOB();
l_token VARCHAR2(32000);
l_chunk_size NUMBER := 4000;
BEGIN
IF l_ajax_function = 'RENDER_CLOB'
THEN
IF l_source = 'COLLECTION'
THEN
IF apex_collection.collection_exists(l_render_collection_name)
THEN
SELECT clob001
INTO l_clob_text
FROM apex_collections
WHERE collection_name = l_render_collection_name
AND seq_id = 1;
END IF;
ELSE --must be SQL_QUERY
BEGIN
l_column_value_list := apex_plugin_util.get_data2(
p_sql_statement => l_query,
p_min_columns => 1,
p_max_columns => 1,
p_component_name => p_dynamic_action.action,
p_first_row => 1,
p_max_rows => 1
EXCEPTION
WHEN NO_DATA_FOUND
THEN
NULL;
END;
IF l_column_value_list.exists(1)
AND l_column_value_list(1).value_list.exists(1)
THEN
l_clob_text := l_column_value_list(1).value_list(1).clob_value;
END IF;
END IF;
FOR i IN 0 .. FLOOR(NVL(LENGTH(l_clob_text)/l_chunk_size,0))
LOOP
sys.htp.prn(substr(l_clob_text, i * l_chunk_size + 1, l_chunk_size));
END LOOP;
ELSE --must be SUBMIT_CLOB
dbms_lob.createtemporary(l_clob_text, false, dbms_lob.session);
FOR i IN 1..apex_application.g_f01.count
LOOP
l_token := wwv_flow.g_f01(i);
if NVL(length(l_token),0) > 0 Then
dbms_lob.writeappend(l_clob_text, length(l_token), l_token);
end if;
END LOOP;
apex_collection.create_or_truncate_collection(
p_collection_name => l_submit_collection_name
apex_collection.add_member(
p_collection_name => l_submit_collection_name,
p_clob001 => l_clob_text
END IF;
RETURN l_retval;
END enkitec_clob_load_ajax;5. As you see only 2 places of plugin had to be fixed, when you compare previous 2 steps:
FOR i IN 0 .. FLOOR(LENGTH(l_clob_text)/l_chunk_size)
LOOP
sys.htp.prn(substr(l_clob_text, i * l_chunk_size + 1, l_chunk_size));
END LOOP;-->
FOR i IN 0 .. FLOOR(NVL(LENGTH(l_clob_text)/l_chunk_size,0))
LOOP
sys.htp.prn(substr(l_clob_text, i * l_chunk_size + 1, l_chunk_size));
END LOOP;And
FOR i IN 1..apex_application.g_f01.count
LOOP
l_token := wwv_flow.g_f01(i);
dbms_lob.writeappend(l_clob_text, length(l_token), l_token);
END LOOP;-->
FOR i IN 1..apex_application.g_f01.count
LOOP
l_token := wwv_flow.g_f01(i);
if NVL(length(l_token),0) > 0 Then
dbms_lob.writeappend(l_clob_text, length(l_token), l_token);
end if;
END LOOP;This way seems to be best way to handle APEX CLOBS today, using that plugin, and a little fix.
Similar Messages
-
How to get around a performance issue when dealing with a lot of data
Hello All,
This is an academic question really, I'm not sure what I'm going to do with my issue, but I have some options. I was wondering if anyone would like to throw in their two cents on what they would do.
I have a report, the users want to see all agreements and all conditions related to the updating of rebates and the affected invoices. From a technical perspective ENT6038-KONV-KONP-KONA-KNA1. THese are the tables I have to hit. The problem is that when they retroactively update rebate conditions they can hit thousands of invoices, which blossoms out to thousands of conditions...you see the problem. I simply have too much data to grab, it times out.
I've tried everything around the code. If you have a better way to get price conditions and agreement numbers off of thousands of invoices, please let me know what that is.
I have a couple of options.
1) Use shared memory to preload the data for the report. This would work, but I'm not going to know what data is needed to be loaded until report run time. They put in a date. I simply can't preload everything. I don't like this option much.
2) Write a function module to do this work. When the user clicks on the button to get this particular data, it will launch the FM in background and e-mail them the results. As you know, the background job won't time out. So far this is my favored option.
Any other ideas?
Oh...nope, BI is not an option, we don't have it. I know, I'm not happy about it. We do have a data warehouse, but the prospect of working with that group makes me whince.My two cents - firstly totally agree with Derick that its probably a good idea to go back to the business and justify their requirement in regards to reporting and "whether any user can meaningfully process all those results in an aggregate". But having dealt with customers across industries over a long period of time, it would probably be bit fanciful to expect them to change their requirements too much as in my experience neither do they understand (too much) technology nor they want to hear about technical limitations for a system etc. They want what they want if possible yesterday!
So, about dealing with performance issues within ABAP, I'm sure you must be already using efficient programming techniques like using Hash internal tables with Unique Keys, accessing rows of the table using Field-Symbols and all that but what I was going to suggest to you is probably look at using [Extracts|http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9ed135c111d1829f0000e829fbfe/content.htm]. I've had to deal with this couple of times in the past when dealing with massive amount of data and I found it to be very efficient in regards to performance. A good point to remember when using Extracts that, I quote from SAP Help, "The size of an extract dataset is, in principle, unlimited. Extracts larger than 500KB are stored in operating system files. The practical size of an extract is up to 2GB, as long as there is enough space in the filesystem."
Hope this helps,
Cheers,
Sougata. -
LTFS is slow when dealing with many files
Working with LTFS on Windows 7 64, I find find that it slows down significantly when dealing with many files (>1500)
From the behaviour, I suspect that it has to do with the number of file handles.
Some LTFS vendors have a copy utility that deals very well with this situation.
I could not find anything like that for HP.
Does it exist? Is there an open source solution?
Thank you,
- BartelsCan someone from the Experts please respond?
Your LTFS solution is in certain situations much slower than the competitors; the difference is a huge factor three..
I would really like to know if there is a solution or not. Either way.
- Bartels -
Premiere Pro 2.0 slows when dealing with larger video files
I'm having issues with Premiere Pro 2.0 slowing to a crawl and taking 60-90 seconds to come back to life when dealing with larger .avi's (8+ mins). When I try to play a clip on the timeline, drag the slider over said clip, or play from a title into said clip on the timeline, Premiere hangs. The clips on question are all rendered, and the peak file has been generated for each different clip has well. This is a new problem; the last time I was working with a larger clip (45+ mins, captured from a Hi-8 cam), I had no problems. Now, I experience this slow down with all longer clips, although I've only dealt with footage captured from a Hi-8 cam and also a mini-DV cam. This problem has made Premiere nearly unusable. I'm desperate at this point.
System:
CPU: P4 HT 2.4ghz
Ram: 2x 1gb DDR
Video: ATI Radeon 9000 Series
Scratch Disk: 250gb WD My Book - USB 2.0 (I suspect this might be part of the problem)
OS: XP Pro SP2
I'm not on my machine right now, and I can definitely provide more information if needed.
Thanks in advance.Aside from some other issues, I found that USB was just not suited for editing to/from, and on a much faster machine, that you list.
FW-400 was only slightly better. It took FW-800, before I could actually use the externals for anything more than storage, i.e. no editing, just archiving.
eSATA would be even better/faster.
Please see Harm's ARTICLES on hardware, before you begin investing.
Good luck,
Hunt
[Edit] Oops, I see that Harm DID link to his articles. Missed that. Still, it is worth mentioning again.
Also, as an aside, PrPro 2.0 has no problem on my workstation when working with several 2 hour DV-AVI's, even when these are edited to/from FW-800 externals.
Message was edited by: the_wine_snob - [Edit] -
I'm dealing with an ActiveX control in LabView 7.0 that allows me to input video / audio from a USB webcamera. The ActiveX control also allows for the playback of the AVI files that are recorded from the webcam. During playback, I occasionally get a eventoracle.cpp @ line 370 error that is hard to diagnose and hard to reproduce. Any ideas? I do have the ability to move to LabView 7.1.1 if needed, but I have not tried that yet.
Chris Davishi there
you can adjust the user event data type to your needs. for example you can add a string "source" to the events data. additionally you can pass the "user parameter" to the callback vi to specify its location. see attachment below.....
Best regards
chris
CL(A)Dly bending G-Force with LabVIEW
famous last words: "oh my god, it is full of stars!"
Attachments:
MSCOMCTL_Toolbar_EventSource_LV7.1.llb 102 KB -
I am looking to change service after dealing with an idiot at my local store that totally misrepresented the plan and is costing me more than ever to have phone service.
Me and my fiance were both conned into the edge plan after the idiot rep
lied to us about not saving money by merging our accounts. Then we find
out that we can't merge because of the edge plan we have. I am writing
letters and posting messages to find or if this has happened you anyone
else. No one has been able to help us so my main focus us to inform as
many people as possible about what happened
On Aug 15, 2014 9:20 PM, "Verizon Wireless Customer Support" < -
InDesign Crashes When Dealing with Table
Hi Folks,
I'm running a 2012 MacBook Pro, OSX 10.8.4, and InDesign CS6 8.0.1
I have a document I've been working on for the better part of 1.5 years now (a physics book, lots of pictures, diagrams, equations, etc.) This morning it was working fine.
A few hours later, there is one specific table at the end of a chapter on page 199 that appears corrupted. All the data in the table magically disappeared. Now, when I try to edit the table, delete the table, export the file, anything, everything stops and crashes the moment the table comes into play.
I first tried just deleting the table. Causes InDesign to crash.
Then I tried exporting the file to IDML. Causes InDesign to crash.
I've tried deleting preferences... still causes InDesign to crash.
I can export to PDF still.
The only issue appears to be with the file (and that particular table). Editing other files, or other tables in the document, still works fine.
Any ideas? I'm happy to erase the problem content and continue, but I can't afford to throw the entire document away and start over... and anytime I try to delete the table, edit the table, etc, the whole thing crashes.
Here's the start of one of the crash reports:
Process: Adobe InDesign CS6 [702]
Path: /Applications/Adobe InDesign CS6/Adobe InDesign CS6.app/Contents/MacOS/Adobe InDesign CS6
Identifier: com.adobe.InDesign
Version: 8.0.1.406 (8010)
Code Type: X86 (Native)
Parent Process: launchd [221]
User ID: 501
Date/Time: 2013-07-10 11:39:58.199 -0400
OS Version: Mac OS X 10.8.4 (12E55)
Report Version: 10
Crashed Thread: 31
Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000000
VM Regions Near 0:
--> __PAGEZERO 0000000000000000-0000000000001000 [ 4K] ---/--- SM=NUL /Applications/Adobe InDesign CS6/Adobe InDesign CS6.app/Contents/MacOS/Adobe InDesign CS6
__TEXT 0000000000001000-0000000000005000 [ 16K] r-x/rwx SM=COW /Applications/Adobe InDesign CS6/Adobe InDesign CS6.app/Contents/MacOS/Adobe InDesign CS6
Thread 0:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x976467d2 mach_msg_trap + 10
1 libsystem_kernel.dylib 0x97645cb0 mach_msg + 68
2 com.apple.CoreFoundation 0x942ddf79 __CFRunLoopServiceMachPort + 185
3 com.apple.CoreFoundation 0x942e395f __CFRunLoopRun + 1247
4 com.apple.CoreFoundation 0x942e301a CFRunLoopRunSpecific + 378
5 com.apple.CoreFoundation 0x942e2e8b CFRunLoopRunInMode + 123
6 com.apple.HIToolbox 0x976b6f5a RunCurrentEventLoopInMode + 242
7 com.apple.HIToolbox 0x976b6cc9 ReceiveNextEventCommon + 374
8 com.apple.HIToolbox 0x9781c15c ReceiveNextEvent + 79
9 com.adobe.InDesign.AppFramework 0x15825af8 0x15817000 + 60152
10 com.adobe.InDesign.AppFramework 0x15844329 GetPlugIn + 12009
11 com.adobe.InDesign 0x00001ec5 main + 341
12 com.adobe.InDesign 0x00001d55 start + 53
Thread 1:: Dispatch queue: com.apple.libdispatch-manager
0 libsystem_kernel.dylib 0x976499ae kevent + 10
1 libdispatch.dylib 0x9a4dec71 _dispatch_mgr_invoke + 993
2 libdispatch.dylib 0x9a4de7a9 _dispatch_mgr_thread + 53
Thread 2:
0 libsystem_kernel.dylib 0x976488e2 __psynch_cvwait + 10
1 libsystem_c.dylib 0x97a762e9 _pthread_cond_wait + 938
2 libsystem_c.dylib 0x97a76572 pthread_cond_timedwait_relative_np + 47
3 com.apple.CoreServices.CarbonCore 0x997596ad TSWaitOnConditionTimedRelative + 177
4 com.apple.CoreServices.CarbonCore 0x996a5acb MPWaitOnQueue + 261
5 PMRuntime.dylib 0x005b9581 SetVSizeBaseline(unsigned long) + 1473
6 com.apple.CoreServices.CarbonCore 0x9972ca7b PrivateMPEntryPoint + 68
7 libsystem_c.dylib 0x97a715b7 _pthread_start + 344
8 libsystem_c.dylib 0x97a5bd4e thread_start + 34Thanks. Here's thread 31:
Thread 31 Crashed:
0 PublicLib.dylib 0x0180f746 WideString::Append(WideString const&) + 12
1 com.adobe.InDesign.Text 0x1b4efb2e GetPlugIn + 3615726
2 com.adobe.InDesign.Text 0x1b4f1def GetPlugIn + 3624623
3 com.adobe.InDesign.Text 0x1b434398 GetPlugIn + 2847832
4 com.adobe.InDesign.Text 0x1b434e4f GetPlugIn + 2850575
5 PublicLib.dylib 0x017ec171 CScriptProvider::AccessPropertyOnObjects(IDType<ScriptID_tag>, IScriptRequestData*, adobe::version_1::vector<InterfacePtr<IScript>, adobe::version_1::capture_allocator<InterfacePtr<IScript> > > const&) + 337
6 com.adobe.InDesign.Scripting 0x1a33a69f GetPlugIn + 154479
7 com.adobe.InDesign.Scripting 0x1a33b35a GetPlugIn + 157738
8 com.adobe.InDesign.Scripting 0x1a338361 GetPlugIn + 145457
9 com.adobe.InDesign.INXCore 0x1822c38f GetPlugIn + 8687
10 PublicLib.dylib 0x0193da93 CScriptDOMElement::FetchValue(IDType<ScriptID_tag>, DOMAttributeValue&) + 107
11 PublicLib.dylib 0x0193f22e CScriptDOMElement::GetAttribute(IDType<ScriptID_tag>, DOMAttributeValue&) + 442
12 PublicLib.dylib 0x017b5f28 CTextScriptDOMElement::CTextScriptDOMElement(IPMUnknown*) + 25134
13 PublicLib.dylib 0x017ad257 CTextScriptDOMElement::CollectTextChildren() + 135
14 PublicLib.dylib 0x017af165 CTextScriptDOMElement::CollectExpandedChildElements(K2Vector<InterfacePtr<IDOMElement>, K2Allocator<InterfacePtr<IDOMElement> > >&) + 127
15 com.adobe.InDesign.INXCore 0x1825cdd8 GetPlugIn + 207928
16 PublicLib.dylib 0x01941089 CScriptDOMElement::GetChildElements(K2Vector<InterfacePtr<IDOMElement>, K2Allocator<InterfacePtr<IDOMElement> > >&) + 59
17 com.adobe.InDesign.INXCore 0x1826d161 GetPlugIn + 274369
18 com.adobe.InDesign.INXCore 0x1826a4a6 GetPlugIn + 262918
19 com.adobe.InDesign.INXCore 0x1826d1de GetPlugIn + 274494
20 com.adobe.InDesign.INXCore 0x1826a39f GetPlugIn + 262655
21 com.adobe.InDesign.INXCore 0x1826d1de GetPlugIn + 274494
22 com.adobe.InDesign.INXCore 0x1826a39f GetPlugIn + 262655
23 com.adobe.InDesign.INXCore 0x1826d1de GetPlugIn + 274494
24 com.adobe.InDesign.INXCore 0x1826a4a6 GetPlugIn + 262918
25 com.adobe.InDesign.INXCore 0x1826d1de GetPlugIn + 274494
26 com.adobe.InDesign.INXCore 0x1826a4c9 GetPlugIn + 262953
27 com.adobe.InDesign.INXCore 0x1826d1de GetPlugIn + 274494
28 com.adobe.InDesign.INXCore 0x1826e105 GetPlugIn + 278373
29 com.adobe.InDesign.INXCore 0x18268530 GetPlugIn + 254864
30 com.adobe.InDesign.INXCore 0x1826727f GetPlugIn + 250079
31 com.adobe.InDesign.SaveBack 0x11cd49b3 GetPlugIn + 27539
32 com.adobe.InDesign.SaveBack 0x11cd4141 GetPlugIn + 25377
33 com.adobe.InDesign.SaveBack 0x11cd6227 GetPlugIn + 33799
34 com.adobe.InDesign.AppFramework 0x15911749 GetPlugIn + 852745
35 com.adobe.InDesign.AppFramework 0x15912ca6 GetPlugIn + 858214
36 com.adobe.InDesign.AppFramework 0x15913804 GetPlugIn + 861124
37 com.adobe.InDesign.AppFramework 0x159143c5 GetPlugIn + 864133
38 com.adobe.InDesign.AppFramework 0x1591598e GetPlugIn + 869710
39 com.adobe.InDesign.AppFramework 0x159159fa GetPlugIn + 869818
40 com.adobe.InDesign.AppFramework 0x15915a66 GetPlugIn + 869926
41 com.adobe.boost_threads.framework 0x01c6840d thread_proxy + 141
42 libsystem_c.dylib 0x97a715b7 _pthread_start + 344
43 libsystem_c.dylib 0x97a5bd4e thread_start + 34
Tried what you recommended. Worked right up to the File>Export and Choose IDML, then it crashed again. Thanks for the idea, though! -
What is the best solution when dealing with user settings
We have a webapp, when a user logs in, all the user en application settings are read (only once) from the database and stored in a session bean (for quick access).
But when some application setting is changed, I want to tell all the session beans that they need to reload the settings.
Is there a good solution for this?
Thanks in advance.There are several ways to do this:
1) Put a timestamp on the application settings tables whenever they are changed. At the beginning of each request, send a small query just for this timestamp and compare it to a timestamp for when the session was created. If it is newer then the session then force a full refresh of the session data, otherwise keep using pre-loaded session data. This keeps normal operation quick since the SQL needed for the intial test is simple and quick, but will get the user the new information they need when they need it.
2) Collect your sessions into an external collection stored inside application scope. Have a trigger that when the application settings change, the session objects are iterated through and updated. This way the settings may be updated without the user making a request - and the updates may be time-invisible to the user. But you could get into situations where you are updating settings at the same time you are reading settings, so you will need to synchronize your access.
3) Don't put application settings in the session. The session should be for user settings only. The application scope (Servlet Context) should be used to store the application settings. As such, when application level changes to the DB are made, the application-level object is reloaded. You only have one copy in memory, it updates just once, no need to iterate through sessions, and users who use the application settings are using the most recent copy. -
How to access the MDX application from SQL server when working with OBIEE?
Hi,
I am new to MS SQL Server 2005. We have developed the OLAP Cubes on SQL Server Business Intelligence Development Studio with its integration with Oracle Business Intelligence Enterprise Edition (OBIEE).
The backend query is in MDX language. Now if I need to run that query I need to access the MDX Application, rite?
So need to know how to connect to MDX application.
Regards,Administration Tool: File - Import - "from multidimensional". There you choose "Provider Type" = "Analysis Server 2005". You specify the URL, user name and password. Then you can import MSAS cubes just like Essbase ones.
Cheers -
I Wish for a little more IQ in AME when dealing with TIFF Sequences !!!
1)
I drop a movie into AME (let us assume a .MOV) called MVI_7899.MOV which I want to convert to a TIFF sequence.
So far so good.
I set my parameters etc and choose an output destination.
I click render
Let us assume that my .MOV has 1800 frames.
AME names my new movie as follows
MVI_78990000
thru to
MVI_78991800
Any other app that I have ever been working with would have the chops to add an "_" (Underscore) character BEFORE adding the sequence number.
I SURE would wish for such in AME>>>>> If NOT already possible.
2)
Also, I think there should be a preference called "Automatically Create Folder for Image Sequences"
This would create a folder with the name of MOV file and put all the sequences inside of it. THat would SAVE time. LOTS.
3)
Also, I think it would be fair to assume that anyone dropping a MOVIE into AME does NOT wish to create ONE tiff image from that whole movie but a TIFF Sequence. Choosing Adobes TIFF presets will NOT tick the "Export as Sequence"Parameter
4) Last but not least
Why on earth is it not possible to drag n drop a tiff sequence folder onto AME. I have to double-click in the source name view and then navigate to the sequence I want to import.
5) Ok LAST wish
When having navigated to a TIFF sequence I cant believe I have to check - Import as sequence - This parameter, in book, should be ticked by default.
At least I know of NO ONE.. Wanting to convert ONE single tiff frame to H264..
Perhaps the guys that make this app could consult a little with folks working with image sequences ;-)
Afterall, if you have a RAID0 system - movies converted to image sequences are going to beat the performance of ANY codec available on the planet currently.
Thanks for reading and for an otherwise great intuitive app !Hi,
Thanks for the great feedback. All of these issues are superb feature requests. Would you mind filling out the feature request form for each one of these? Sending feedback that way ensures that it gets routed and filed appropriately. The forum here is a great place for discussing the issues, the feature request form is the best way get it in front of the right people's eyes.
FWIW, several of these issues are already logged internally, and are on the long list of improvements for the next version of AME.
Specific responses to each of your requests:
1) Yep. After Effects does this. AME should, too.
2) You're preaching to the choir here. I'd love to see AME and AE both adopt this feature.
3) I get frustrated by this, too. Export As Sequence is not enabled by default for any of the still formats except DPX. Definitely want to fix this.
4) AME isn't quite smart enough to distinguish a folder of individual TIFF files from a folder containing a TIFF sequence. Same reason that you can't use sequence files as a source in a Watch Folder. Definitely something we want to fix.
5) Yep. After Effects does this. AME should, too.
Again, thanks for the helpful feedback. It is appreciated.
-=TimK
-=Adobe After Effects and Adobe Media Encoder QE -
Honestly, where is one to begin when dealing with MVC
Ok, I come mainly from a web / media development background. For the past 3 years i have been developing in Java and Jsp. The question I have is why adopt things like Struts if you can create a very simple jsp based web application following the MVC? I was asked to look into various standards that are out there to gauge which is best and thus far I can not tell. People praise and bash the various ways that are available. The only way I can see to choose a way to follow is to actually implement one and then another and then another to weight the pros and cons.
So, I am asking all of you that have used Struts, Stripes or any other idea out there for your input.
The goal as explained to me from the so called tech-lead is they want to put in place something quick (to be defined of course).
So the way I see it is like this.
Something that can be fully understood in a matter of an hour or two of reading of it.
Would like to be able to Implement it in the same day as well.
Yes Im being a bit vague but in general I am unaware of which path to take being that for things that I hear to be robust are difficult to pick up in a short amount of time. Example being Struts, getting it to work is one thing knowing it and being able to use and understand it is another thing.
I'm almost tempted in just going back to the days of old and just laying out my own MVC structure but being directed to compare products when not actually using them is another story.The motivation is that a framework helps you automate the basics, so you can spend more time on the "important" things.
Things like
- Validation/conversion
- prompting the user when validation conversion fails
- controlling screenflow from A to B to C
- error handling
- probably a lot more
Struts has been around for a while now. While it is still solid, it is not the best out there.
It was groundbreaking at the time, but has its issues.
People have learned from Struts and developed other frameworks which address those issues.
Different frameworks have different advantages/disadvantages. It depends on what you are building.
Issues come up when you want to do that is something "outside the box" of the standard framework that pushes the limits.
For a small web application, sure you can do it without a whole lot of structure.
Once you get into a medium sized one, it IS useful to have the module structure provided by something like struts.
So my advice would be define the requirements that you have for developing web applications.
Do you need Ajax support?
Do you need search pages, next 10/previous 10 interface?
Is it for basic maintenance screens with dataentry/validation?
How large an application are we talking about? 10 pages? 20 pages? 500 pages?
To my mind there is nothing so important as understanding the underlying mechanism of HTTP. The request parameters, attributes, get/post etc etc. Once you have a grasp of those, it becomes easier to visualise how the frameworks build on that to do their job. -
InDesign shuts down when dealing with Arabic
The program shuts down after approximatelly 30 seconds as soon as I start playing with the font - changing to Simplified Arabic etc.
The same problem occurs on two seperate computers, where CS was installed - work computer where I'm using a purchased version and home computer where I have a trial version installed.
I didn't seem to have this problem until I downloaded a script for RTL.
Now I have donwloaded the Arabic version of CS6 with an in-build RTL option and the problem is still present.
English materials work fine.Um. This post is full of guesses.
I am going to guess that under Edit -> Preferences -> Clipboard Handling you have "All Information" instead of "Text Only." Is my guess correct? Because copy/pasting RTL stuff from Excel has been problematic for me in the past when Excel's native styling made it into InDesign.
I would furthermore guess that:
1) it worked before because the RTL text flow was turned on in Word, and that info carried across on the clipboard, but
2) now when you try to turn on RTL text flow in InDesign it's freaking out on "Left to Right" versus "Default direction" properties
So my final guess would be that a change in workflow will end the crashes. It's a long shot, but I would suggest that you either
1) Only File -> Place documents, never copy/paste
or
2) Change the Clipboard Handling settings to Text Only, and continute using your copy/paste workflow. But the text will always flow in the wrong direction until you apply one of the RTL paragraph direction scripts.
I'd strongly sugggest that you abandon the habit of copy/pasting complex-script text. It's a disaster, really. Most of my complex-script workflows tend towards trying to strip as much Word garbage off of text as I possibly can, all the way down to raw Unicode text when I can do so, and then placing those stripped-down files into Word.
When I can't do that (when I need to preserve some parts of Word formatting), one trick that I've used in the past is to have character styles called "Overt LTR" and "Overt RTL" in Word when I needed English words in the middle of Arabic paragraphs, and vice versa. This is necessary because InDesign has a setting that I don't think Word has: "Default Direction." So in a mixed paragraph, it will try to apply LTR to Latin script and RTL to Arabic script. This causes problems of all kinds, especially when you have mixed numerals (e.g. phone numbers in Arabic numerals, but all other numbers in Hindi numerals).
But since Word and InDesign handle complex and RTL scripts quite differently, there will always be some pre-InDesign hygiene necessary, and some significant cleanup within InDesign once the text is in. -
Bluetooth does not work correctly with Flash when dealing with audio
I have a stereo that uses bluetooth. I am on a Mac.
Everything works with bluetooth (iTunes, Quicktime) except flash.
When I play a flash video, or listen to songs using a flash player,
no sound is playing through the remote (bluetooth) speakers.Ditto - I get the same issue with a bluetooth headset. If I
download the flash video to my mac and play it using VLC it works
fine, however the flash player chokes on it. Any ideas? -
/DynamicLinkMediaServer701/releases/2013.03/shared/adobe/MediaCore/ASL/Foundation/Make/Mac /../../Src/DirectoryRegistry.cpp-283 is my error code.
I get it ANYTIME I try to import any videos ( I work in MOV )
ANYONE have any fracking suggestions?? Talk about frustrating!!!!!silverboxmedia wrote:
ANYONE have any fracking suggestions??
I don't know how to fix the problem in a proper fashion, which probably involves tweaking the video subsystem of your computer, since Lr is essentially tapping it for all that is video (assuming the mov files really should be importable, but aren't).
That said, a possible work-around for the mean time is to use a a script called
'Import Any Video'
free by me downloadable here:
http://www.robcole.com/Rob/ProductsAndServices/MiscLrScripts
it transcodes mov files into mp4 format which Lr tends to be happier with - dunno if it'll work for you.
Good luck,
Rob -
BUG in DB XML? (when dealing with modules, user-defined functions)
Hi,
this post can be related to Different results for the semantically the same queries but here examples are even simpler.
I have the module with one user-defined function:
module namespace tnt = "http://tntbase.mathweb.org/ns";
declare function tnt:filter-path($docs as document-node()*, $path as xs:string) as document-node()*{
$docs[dbxml:metadata('tnt:path') = $path]
};Then I have a query:
import module namespace tnt = 'http://tntbase.mathweb.org/ns' at 'file:/path/to/module/user-func.xq';
(: this variable is IMPORTANT in the query:)
declare variable $len := 3;
(: here goes the same function as in the module, but with different name :)
declare function tnt:filter-path2($docs as document-node()*, $path as xs:string) as document-node()*{
$docs[dbxml:metadata('tnt:path') = $path]
(:the query itself :)
tnt:filter-path(collection("xml_content.dbxml"), substring("a:/doc.xml", $len)) If I execute the query I get *0* results, if I use function tnt:filter-path2 (instead of module's tnt:filter-path) then I get the expected *1* result.
Also I experimented a bit with a query and got the following observations (independent from each other):
1) If I substitute $len by value *3* or *3.0*, then I get right results in both cases, i.e. if the query itself looks:
tnt:filter-path(collection("xml_content.dbxml"), substring("a:/doc.xml", 3)) 2) If I change the module's function so that it uses value comparison instead of general comparison, then I get the right results in both cases as well:
module namespace tnt = "http://tntbase.mathweb.org/ns";
declare function tnt:filter-path($docs as document-node()*, $path as xs:string) as document-node()*{
$docs[dbxml:metadata('tnt:path') eq $path]
};Please, help me out! I'm pretty sure it's a problem of DB XML and I'm struggling with it for a long time in this or that shape.
Thanks a lot in advance,
VyacheslavI upgraded from 2.5.13 to 2.5.16 and the bug disappeared. The reason why I didn't do it before was that I hadn't seen any relevant for me fixes in the release notes of 2.5.16 comparing to 2.4.13 (Actually I already have had two patches for two relevant issues in the 2.5.13 version)
Sorry for the false alarm.
Vyacheslav
Maybe you are looking for
-
ADF View objects as source for OBIEE
Hi, I have developed an ADF application that exposes a couple of tables from my oracle database using JDBC. We have followed all the steps of using obieebroker to use the ADF component as the source to our OBIEE RPD. I was able to deploy the applicat
-
I just created an Apple Id for my wife and a user account for her. We are on the same computer (iMac). I cant for the love of God get my itunes library to show on her user account on computer. My library shows up under shared library when i select
-
I have some queries usage of RAID 1 on OSX
Hi there I apologise for the length of this question, but there's quite a bit of relevant data. I work in a small typesetting company (<10 employees) and since a HDD failed on an old G4 iMac that we used as a data archive we have learnt that without
-
Why cant a pdf file open automatically.I have to first open adobe software and then open the document.
-
Hello, I'm trying to install Oracle 10gR2 on CentOS4 (kernel 2.6.9-34.EL). I followed the pre-installation tasks the best I could, but when I try to launch runInstaller from the location where I uncompressed the setup files, I am getting error "Could