Dua Java Cryptography Extension (JCE) provider ini free of charge dan lisensinya simpel:
Saturday, February 12, 2005
Java: Oracle Collection Object
Ini pengalaman partner saya. Dia bikin oracle object seperti ini:
Kemudian dia bikin collection dari object tersebut:
Collection object tersebut digunakan sebagai return dari sebuah oracle function
Yang membuat pusing adalah, di develompent server (embedded WAS di WSAD 5.1.0/JRE1.3) code java dibawah ini menghasilkan nilai hexadesimal.
Jika varibel string "s" dikonversi dari hexa ke kode ascii, didapatkan hasil yang diinginkan.
URL dari google ini http://forums.oracle.com/forums/thread.jsp?forum=99&thread=228159&message=640498
menyarankan untuk menambahkan nls_ charset12.zip di classpath.
Tapi tampaknya nls_ charset12.zip tidak memecahkan masalah. Di production server (WAS 5.1/JRE 1.4.2 dengan menggunakan embedded data source) menghasilkan karakater "???"
Saya coba seperti ini :
CREATE OR REPLACE
TYPE T_SOMETHING AS OBJECT
(
PK_SOMETHING NUMBER,
SOMETHING VARCHAR2(10)
);
/
Kemudian dia bikin collection dari object tersebut:
CREATE OR REPLACE
TYPE "T_COLL_SOMTHING" AS TABLE OF T_SOMETHING;
/
Collection object tersebut digunakan sebagai return dari sebuah oracle function
CREATE OR REPLACE FUNCTION GET_SOMETHING(a_date DATE)
RETURN T_COLL_SOMTHING
IS
...
...
...dihapus...
Yang membuat pusing adalah, di develompent server (embedded WAS di WSAD 5.1.0/JRE1.3) code java dibawah ini menghasilkan nilai hexadesimal.
CallableStatement cs = conn.prepareCall("BEGIN ? := get_something( ? ); END;");
cs.registerOutParameter(1, Types.ARRAY, "T_COLL_SOMTHING");
cs.setDate(2, currDate);
cs.execute();
Array res = cs.getArray(1);
rs = res.getResultSet();
while (rs.next()){
java.sql.Struct struct = (java.sql.Struct)rs.getObject(2);
Object[] objectArray = struct.getAttributes();
String s = (String)objectArray[1];
System.out.print(s);
}
Jika varibel string "s" dikonversi dari hexa ke kode ascii, didapatkan hasil yang diinginkan.
URL dari google ini http://forums.oracle.com/forums/thread.jsp?forum=99&thread=228159&message=640498
menyarankan untuk menambahkan nls_ charset12.zip di classpath.
Tapi tampaknya nls_ charset12.zip tidak memecahkan masalah. Di production server (WAS 5.1/JRE 1.4.2 dengan menggunakan embedded data source) menghasilkan karakater "???"
Saya coba seperti ini :
oracle.sql.STRUCT struct = (oracle.sql.STRUCT)rs.getObject(2);hasilnya adalah
Datum[] objectArray = struct.getOracleAttributes();
String s = ((oracle.sql.CHAR)objectArray[1]).getString();
System.out.print(s);
java.sql.SQLException : Non supported character set: oracle-character-set-178Bagaimana ini?
Saturday, February 05, 2005
Web service: standar dan organisasi
W3C develops interoperable technologies (specifications, guidelines, software, and tools) to lead the Web to its full potential. W3C creates a final specification or set of guidelines called Recommendation.
SOAP (Simple Object Access Protocol), WSDL (Web Services Description Language), UDDI (Universal Description, Discovery and Integration), XML (EXtensible Markup Language), XML Schema
OASIS is a not-for-profit, international consortium that drives the development, convergence, and adoption of e-business standards. Final realease of their standard called OASIS Standard.
OASIS Standards are approved within an OASIS Committee, submitted for public review, implemented by at least three organizations, and finally ratified by the Consortium's membership at-large.
WSRP (OASIS Web Services for Remote Portlets), WSS (Web Services Security),UDDI Specification, WSRM (Web Services Reliable Messaging)
WS-I is an open industry organization chartered to promote Web services interoperability across platforms, operating systems and programming languages.
WS-I makes :
SOAP (Simple Object Access Protocol), WSDL (Web Services Description Language), UDDI (Universal Description, Discovery and Integration), XML (EXtensible Markup Language), XML Schema
OASIS is a not-for-profit, international consortium that drives the development, convergence, and adoption of e-business standards. Final realease of their standard called OASIS Standard.
OASIS Standards are approved within an OASIS Committee, submitted for public review, implemented by at least three organizations, and finally ratified by the Consortium's membership at-large.
WSRP (OASIS Web Services for Remote Portlets), WSS (Web Services Security),UDDI Specification, WSRM (Web Services Reliable Messaging)
WS-I is an open industry organization chartered to promote Web services interoperability across platforms, operating systems and programming languages.
WS-I makes :
- Profiles provide implementation guidelines for how related Web services specifications should be used together for best interoperability.
- Sample Applications demonstrate Web services applications that are compliant with WS-I guidelines.
- Testing Tools are used to determine whether the messages exchanged with a Web service conform to WS-I guidelines.
Oracle: Hati-hati dengan data NULL
Jika kita jalankan procedure dibawah, apa yang akan kita dapatkan?
Suatu operasi aritmetika pada varibel not null dengan varibel null, hasilnya null.
Apa yang kita dapatkan jika kita menjalankan query dibawah ini dan field
Kita tidak mendapatkan record yang
Karena saya bukan DBA atau database programmer, sempat juga membuat kesalahan . Jadi hati-hati dengan NULL. Baca Oracle "PL/SQL User's Guide and Reference" bagian Expressions and Comparisons, Handling Nulls:
CREATE OR REPLACE PROCEDURE example AS
init NUMBER;
result NUMBER;
BEGIN
init := 25;
result := init + NULL;
dbms_output.put_line('Result = '|| result);
END;
Suatu operasi aritmetika pada varibel not null dengan varibel null, hasilnya null.
Apa yang kita dapatkan jika kita menjalankan query dibawah ini dan field
column1 pada tabel my_table memiliki data NULL?
SELECT * FROM my_table WHERE column1 <> 0;
Kita tidak mendapatkan record yang
column1 berisi NULL.
Karena saya bukan DBA atau database programmer, sempat juga membuat kesalahan . Jadi hati-hati dengan NULL. Baca Oracle "PL/SQL User's Guide and Reference" bagian Expressions and Comparisons, Handling Nulls:
- comparisons involving nulls always yield NULL
- applying the logical operator NOT to a null yields NULL
- in conditional control statements, if the condition yields NULL, its associated sequence of statements is not executed
Oracle: Membuat synonym
Kadang kita perlu mempunyai user lain yang memiliki otoritas/role yang lain untuk mengakses suatu schema. Misalnya saja kita butuh user yang memiliki hak akses read only pada suatu schema.
Misalkan kita buat user FOO adalah user yang memiliki akses read only ke schema BAR. User A akan kerepotan dalam mengakses object di schema BAR, karena setiap dia akan mengakses object di schema BAR maka harus menuliskan BAR.NAMA_OBJECT.
Untuk memudahkannya kita bisa buat sysnonym dari table, view, procedure, function dan package object yang ada di schema BAR untuk si FOO.
Misalkan kita buat user FOO adalah user yang memiliki akses read only ke schema BAR. User A akan kerepotan dalam mengakses object di schema BAR, karena setiap dia akan mengakses object di schema BAR maka harus menuliskan BAR.NAMA_OBJECT.
Untuk memudahkannya kita bisa buat sysnonym dari table, view, procedure, function dan package object yang ada di schema BAR untuk si FOO.
set heading off;
set linesize 200;
set feedback off;
spool c:\create_synonym.sql
SELECT 'CREATE SYNONYM ' || object_name || ' FOR ' || owner ||'.'|| object_name || ';' script
FROM all_objects
WHERE owner = 'BAR'
AND object_type IN ('PROCEDURE','FUNCTION','TABLE','VIEW','PACKAGE');
spool off;
Subscribe to:
Posts (Atom)