2010年1月13日 星期三

測試oracle直接call java程式

當初oracle提供這個功能是為了讓java的程式師可方便寫的一些功能在oracle中使用,這樣子也就可不必學pl/sql了
但我暫時還沒有找到效能上的差別是多少的官方資料。
不過有做過就記錄一下,以免以後真的遇到還要上網找資料


1、先寫一個很簡單的java程式 (檔名叫 test.java,請注意大小寫)
public class test
{
public static void main(String[] a) {
System.out.println("this is java");
}
}

2、編譯成class
D:\>javac test.java

3、查看一下是否ok
D:\>dir test.*
磁碟區 D 中的磁碟是 本機磁碟
磁碟區序號: 7098-7819

目錄: D:\

2007-03-14 11:38a 414 test.class
2007-03-14 11:37a 120 test.java
2 個檔案 534 位元組
0 個目錄 9,290,588,160 位元組可用

4、進sqlplus了
D:\>sqlplus sys/binhu as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 3月 14 11:41:20 2007

Copyright (c) 1982, 2005, Oracle. All rights reserved.

連線至閒置的執行處理.

SQL> startup
ORACLE 執行處理已啟動.

Total System Global Area 201326592 bytes
Fixed Size 1248092 bytes
Variable Size 92275876 bytes
Database Buffers 104857600 bytes
Redo Buffers 2945024 bytes
資料庫已掛載.
資料庫已開啟.

5、建立相關的別名跟設定
SQL> create or replace directory java_dir as 'd:\';

已建立目錄.

SQL> create or replace java class using bfile(java_dir,'test.class');
2 /

已建立 Java.

SQL> create or replace procedure test_java as language java name 'test.main(java.lang.String[])';
2 /

已建立程序.

6、準備測試了
SQL> set serveroutput on size 2000
SQL> call dbms_java.set_output(2000);

已完成呼叫.

SQL> execute test_java;
this is java

已順利完成 PL/SQL 程序.

SQL> call test_java();
this is java

已完成呼叫.


心得:
使用上還算簡單,但真正上線的db會有多少人讓java在上面跑呢,因為這又多了一個變數
到時db掛了,還要多花心力去查看是否是由java引起的問題=.="
除非oracle有大力推行跟公司有規定使用的話,不然我還是不會讓java跑在db上的


source: http://blog.roodo.com/mywork/archives/2851269.html

2010年1月6日 星期三

溫哥華2010奧運會網站選擇使用的JavaFX來創建其網站

溫哥華2010奧運會網站選擇使用的JavaFX來創建其網站

強大得用戶界面和出色的應用,展現JavaFX的在數據可視化方面的潛力。

http://www.vancouver2010.com/olympic-medals/geo-view/

2010年1月5日 星期二

關閉某個用戶的Oracle連接

最近開髮用的Weblogic的JNDI數據源連接,可是JNDI沒有自動回收連接的功能!
項目不知道哪裡代碼寫的時候沒有關閉連接,造成有些連接是死連接
這樣很容易造成數據庫崩潰或者沒連接

思路就是想把這個項目的用戶都關閉,回收資源

運行PL/SQL命令

SELECT s.Sid, s.Serial#,p.spid, s.USERNAME,s.OSUser,
s.Program FROM V$Process p,V$session s WHERE p.addr=s.paddr(+) ORDER BY s.Sid


有人用
alter system kill session 'sid,serial#' ;這個命令來殺死,可是資源不立刻回收


運行下面的語句就可以回收資源
查出連接用戶後,在CMD中輸入orakill 數據庫名SPID(EXP:orakill orcl XXX)


source: http://www.blogjava.net/czmchen/

2009年12月17日 星期四

解決Oracle 看到的中文(Big5)為亂碼

Modify the Window Registry

** (Must) Installed Oracle Client ***
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient10g_home1
/*for unicode*/
NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
/*for big5*/
NLS_LANG=TRADITIONAL CHINESE_TAIWAN.ZHT16MSWIN950

2009年11月5日 星期四

[Java Script] 操作select控制項大全(新增、修改、刪除、選中、清空、判斷存在等)

1判斷select選項中 是否存在Value="paraValue"Item

2select選項中 加入一個Item

3select選項中 刪除一個Item

4刪除select中選中的項

5修改select選項中 value="paraValue"text"paraText"

6設置selecttext="paraText"的第一個Item為選中

7設置selectvalue="paraValue"Item為選中

8得到select的當前選中項的value

9得到select的當前選中項的text

10得到select的當前選中項的Index

11清空select的項

js 代碼

// 1.判斷select選項中是否存在Value="paraValue"Item

function jsSelectIsExitItem(objSelect, objItemValue) {

var isExit = false;

for (var i = 0; i <>

if (objSelect.options[i].value == objItemValue) {

isExit = true;

break;

}

}

return isExit;

}

// 2.select選項中加入一個Item

function jsAddItemToSelect(objSelect, objItemText, objItemValue) {

//判斷是否存在

if (jsSelectIsExitItem(objSelect, objItemValue)) {

alert("ItemValue值已經存在");

} else {

var varItem = new Option(objItemText, objItemValue);

objSelect.options.add(varItem);

alert("成功加入");

}

}

// 3.select選項中刪除一個Item

function jsRemoveItemFromSelect(objSelect, objItemValue) {

//判斷是否存在

if (jsSelectIsExitItem(objSelect, objItemValue)) {

for (var i = 0; i <>

if (objSelect.options[i].value == objItemValue) {

objSelect.options.remove(i);

break;

}

}

alert("成功刪除");

} else {

alert("select中 不存在該項");

}

}

// 4.刪除select中選中的項

function jsRemoveSelectedItemFromSelect(objSelect) {

var length = objSelect.options.length - 1;

for(var i = length; i >= 0; i--){

if(objSelect[i].selected == true){

objSelect.options[i] = null;

}

}

}

// 5.修改select選項中 value="paraValue"text"paraText"

function jsUpdateItemToSelect(objSelect, objItemText, objItemValue) {

//判斷是否存在

if (jsSelectIsExitItem(objSelect, objItemValue)) {

for (var i = 0; i <>

if (objSelect.options[i].value == objItemValue) {

objSelect.options[i].text = objItemText;

break;

}

}

alert("成功修改");

} else {

alert("select中 不存在該項");

}

}

// 6.設置selecttext="paraText"的第一個Item為選中

function jsSelectItemByValue(objSelect, objItemText) {

//判斷是否存在

var isExit = false;

for (var i = 0; i <>

if (objSelect.options[i].text == objItemText) {

objSelect.options[i].selected = true;

isExit = true;

break;

}

}

//Show出結果

if (isExit) {

alert("成功選中");

} else {

alert("select中 不存在該項");

}

}

// 7.設置selectvalue="paraValue"Item為選中

document.all.objSelect.value = objItemValue;

// 8.得到select的當前選中項的value

var currSelectValue = document.all.objSelect.value;

// 9.得到select的當前選中項的text

var currSelectText = document.all.objSelect.options[document.all.objSelect.selectedIndex].text;

// 10.得到select的當前選中項的Index

var currSelectIndex = document.all.objSelect.selectedIndex;

// 11.清空select的項

document.all.objSelect.options.length = 0;


source: http://goodlucky.pixnet.net/blog/

JSP Pagination

http://www.java3z.com/cwbwebhome/article/article1/1102.html?id=1275

2009年11月4日 星期三

Linux下Tomcat6.0 應用服務部署

一.所需軟件

軟件:jdk6.bin、apache-tomcat-6.0.18.tar

程序包:customer.war,customerService.war,FrontProject.war,expressBackUser.war,

expressAccount,expressPlatform.war,OrderDispose.war,OrderDisposeTest.war



二.安裝jdk

1).移動jdk到安裝目錄;

2).賦予執行權限:chmod u+x jdk6.bin

3).執行命令:./jdk6.bin

4).用mv命令把jdk1.6.0_01給它改個名字叫jdk1.6

5).開始設置環境變量:

vi /etc/profile.d/java.sh

在profile.d/java.sh文件的最後添加如下代碼

#set java environment

JAVA_HOME=/usr/local/hzcms/jdk6

export JAVA_HOME

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export CLASSPATH

PATH=$PATH:$JAVA_HOME/bin

export PATH

保存退出

使變量生效source ./profile.d/java.sh

6)命令java -version(顯示的版本比實際版本號低的情況可能是操作系統的原因)

如果安裝成功會出現java的版本信息

三.安裝tomcat6.0

1).解壓:tar zxvf apache-tomcat-6.0.18.tar.gz

2).將apache-tomcat-6.0.18的文件名修改為tomcat6.0

命令為:mv apache-tomcat-6.0.18tomcat6.0

3).#cd /tomcat6.0/bin

#./startup.sh //啟動tomcat

此時tomcat開始啟動,等啟動完成後,在地址欄輸入

http://ip:8080就可以看見熟悉的大貓了。

#./shutdown.sh //停止tomcat



4).tomcat6.0自啟動



修改/etc/rc.d/rc.local文件,添加以下內容:

export JDK_HOME=/usr/local/bycw/jdk1.6

export JAVA_HOME=/usr/local/bycw/jdk1.6

/usr/local/bycw/tomcat6.0/bin/startup.sh


四.修改tomcat內存

catalina.sh開頭
加這麼一行

JAVA_OPTS='-Xms1536m -Xmx1536m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m'

source: http://space.itpub.net/21070542/viewspace-606594