- robert ri chard dating
- dating for all
- Hookup 100 percent free hook up no credit card
- what are the best online dating services
- speed dating north somerset
But if you are using Data Sets today I would go with example 1, but with some modifications, so that I create the update, delete and insert command by myself instead of letting the command builder do it.
so this is what happens with cx_oracle sometimes, you just don't get a response for awhile. [email protected]m&forum_name=cx-oracle-users and in the meantime, what happens if you run my test script above ?
In older Java projects I've been writing and reading CLOBS and I know you have to handle those fields a bit different than normal VARCHARs and such. NET Dynamic Help and whatever I could find on the Internet, and the funny thing is I found three different ways of doing it; 2 really simple and one not so simple.
The weird thing is that I don't think the first two options is supposed to be working - but when I test them they work just fine. To test this, I have created a simple table in Oracle, which consists of 2 fields; ID (INT) and TEXT (CLOB). I'm reading a simple text-file created with Notepad, which is 499 KB in size.
The outputstring procedure is the oracle procedure interface to the External procedure.(src_file); EXCEPTION WHEN access_error THEN WHEN invalid_argval THEN WHEN invalid_directory THEN WHEN no_data_found THEN WHEN noexist_directory THEN WHEN nopriv_directory THEN WHEN open_toomany THEN WHEN operation_failed THEN WHEN unopened_file THEN WHEN others THEN END read_file; /(l_clob, rpad ('*',4000,'*')); END LOOP; END LOOP; END; / CREATE TEMPORARY TABLESPACE don_1024 TEMPFILE 'c: emp\don_1024.dbf' SIZE 10M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1024k; CREATE TEMPORARY TABLESPACE don_512 TEMPFILE 'c: emp\don_512.dbf' SIZE 10M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512k; CREATE TEMPORARY TABLESPACE don_64 TEMPFILE 'c: emp\don_64.dbf' SIZE 10M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 64k; SELECT tablespace_name, initial_extent FROM dba_tablespaces WHERE tablespace_name LIKE ('DON%'); TABLESPACE_NAME INITIAL_EXTENT --------------- -------------- DON_1024 1048576 DON_512 524288 DON_64 65536 ALTER USER uwclass TEMPORARY TABLESPACE don_1024; SELECT tablespace, segtype, blocks*8*1024 USED_BYTES FROM gv$tempseg_usage WHERE username = user; TABLESPACE SEGTYPE USED_BYTES ---------- ----------- ---------- DON_1024 LOB_DATA 1048576 DON_1024 LOB_INDEX 1048576 ALTER USER dellera TEMPORARY TABLESPACE don_512; (logout then in again) TABLESPACE SEGTYPE USED_BYTES ---------- ----------- ---------- DON_512 LOB_DATA 524288 DON_512 LOB_INDEX 524288 ALTER USER dellera TEMPORARY TABLESPACE don_64; (logout then in again) TABLESPACE SEGTYPE USED_BYTES ---------- ----------- ---------- DON_64 LOB_DATA 327680 DON_64 LOB_INDEX 65536 So by reducing the extent size we greatly reduce the space allocated to the temp lob_index.
I don't know why the lob_data that should contain 64000 bytes stays to 327,680 for an extent size of 64K.In one of our current projects we need to write large chunks of text to an Oracle CLOB field from an ASP. NET even though the later versions of that pack may work very well. Oracle Client libraries so far (to write smaller amounts of data) and it has worked out quite well for us.So, first way of doing it using an Oracle Data Adapter, is (if I understand the Class Library docs) not supposed to be working. This also works fine, but it requires a bit more hassle with transactions and stuff: Note that to write to the temporary CLOB, the text must be unicode or you will just get a mess of characters written :) So, since all three ways seems to be working just fine for me, what is the right way of doing this? As far as I can see, the two first option will do almost exactly the same things, so if one works, the other always will too.The only difference is that you code a little bit more for yourself in the second one and the first one could be a little bit slower since the command builders do some extra talking with the database to set up the parameters.Oracle maintains an index keyed by (LOB_ID, chunk_number) *** pointing to all the chunks of a LOB in order, so when you update a single chunk Oracle simply creates an updated copy of the chunk and changes the appropriate index entry to point to the new chunk.