環境:
DB : mssql 2000
Table schema :
id int,
fileContent image,
path varchar(255);
從檔案加入至資料庫
code:
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433", "cf-intermediate",
"cf-intermediate");
File file = new File("C:/MyEclipse5.1/workspace/myJava/abc.doc");
BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream(file));
// 將檔案讀入位元陣列
ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream();
byte[] bytes = new byte[1];
while (bufferedInputStream.read(bytes) != -1) {
arrayOutputStream.write(bytes);
}
arrayOutputStream.close();
bufferedInputStream.close();
bytes = arrayOutputStream.toByteArray();
System.out.println("bytes="+bytes.length);
PreparedStatement preState = con.prepareStatement("insert into erpglm_append values(?,?,?)");
preState.setBytes(1, bytes);
preState.setString(2, file.getPath());
preState.setString(3, "N");
preState.execute();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
從資料庫取得資料並存成檔案:
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433", "cf-intermediate",
"cf-intermediate");
String sql = "select fileContent from erpglm_append where id=1";
Statement stat = con.createStatement();
ResultSet rs = stat.executeQuery(sql);
byte[] bytes = null;
while (rs.next()) {
bytes = (byte[]) rs.getObject("fileContent");
}
rs.close();
stat.close();
con.close();
System.out.println("bytes="+bytes.length);
BufferedInputStream bufferedInputStream = new BufferedInputStream(new ByteArrayInputStream(bytes));
File file = new File("C:/MyEclipse5.1/workspace/myJava/abc1.doc");
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(file));
byte[] data = new byte[1];
while (bufferedInputStream.read(data) != -1) {
bufferedOutputStream.write(data);
}
bufferedOutputStream.flush();
bufferedInputStream.close();
bufferedOutputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
2007/03/28
2007/03/26
XDoclet - sql-type 用法
/**
* @hibernate.property name="chtName" not-null="true"
* @hibernate.column name="chtName" sql-type="nvarchar(50)"
*/
欄位長度均由sql-type中給定
* @hibernate.property name="chtName" not-null="true"
* @hibernate.column name="chtName" sql-type="nvarchar(50)"
*/
欄位長度均由sql-type中給定
2007/03/23
彈跳視窗
1.使彈跳視窗為全螢幕:
window.open("2.html", "page2", "fullscreen=1");
2.使彈跳視窗最大化:
var param = "hight="+screen.availHeight+",width="+screen.availWidth;
window.open("2.html", "page2", param);
3.使彈跳視窗設定座標:
window.open("2.html", "page2", "top=0,left=0");
window.open("2.html", "page2", "fullscreen=1");
2.使彈跳視窗最大化:
var param = "hight="+screen.availHeight+",width="+screen.availWidth;
window.open("2.html", "page2", param);
3.使彈跳視窗設定座標:
window.open("2.html", "page2", "top=0,left=0");
2007/03/12
Windows - 佈景主題
XPize is a GUI enhancer that replaces most of the non-XP icons, avis and bmps that Microsoft has always overlooked. It also includes some extras and a reloader, which you can use after visiting Windows Update.
2007/03/08
Subversion 走 http 通道
環境 :
Linux - Ubuntu 6.10 LAMP Server
步驟:
1.安裝 apache http server , subversion
1.1 安裝apache http server : sudo apt-get install libapache2-svn
1.2 安裝subversion : sudo apt-get install subversion
2.新增系統群組
2.1新增群組 : sudo groupadd svn
2.2新增群組使用者 : sudo adduser www-data svn
[註:www-data為Apache 帳號]
3.新增資料夾
3.1新增svn資料夾 : sudo mkdir /home/svn
4.新增repository : sudo svnadmin create /home/svn/
5.設定存取群組
5.1移至路徑 : cd /home
5.2改變擁有者 : sudo chown -R root:svn svn
5.3變更檔案屬性 : sudo chmod -R g+rws svn
5.4新增www-data至shadow群組 : sudo adduser www-data shadow
6.修改dav_svn設定檔
6.1移至路徑 : /etc/apache2/mods-available/
6.2修改檔案dav_svn.conf : sudo pico dav_svn.conf
加入以下內容
< Location>
...
...
DAV svn
SVNPath /home/svn/
AuthType Basic
AuthName "subversion repository"
AuthUserFile /home/svn/passwd
AuthzSVNAccessFile /home/svn/authz
Require valid-user
< /Location>
7.新增密碼與權限檔案
7.1移至路徑 : cd /home/svn
7.2新增密碼檔案 : passwd
7.3新增權限檔案 : authz
8.新增svn使用者
8.1新增svn使用者: sudo htpasswd -c /home/svn/passwd user_name
ex: sudo htpasswd2 -c /home/svn/passwd jeffchang
之後他會要求你輸入密碼,輸入通過驗證後即完成。
8.2之後新的使用者只需要 sudo htpasswd /home/svn/passwd user_name即可
9.設定權限 (部分)
9.1修改 authz 檔案
輸入檔案內容:
[/]
jeffchang = rw
10.重新開啟apache server: sudo /etc/init.d/apache2 restart
11.完成,即可利用http通道簽入簽出。
Linux - Ubuntu 6.10 LAMP Server
步驟:
1.安裝 apache http server , subversion
1.1 安裝apache http server : sudo apt-get install libapache2-svn
1.2 安裝subversion : sudo apt-get install subversion
2.新增系統群組
2.1新增群組 : sudo groupadd svn
2.2新增群組使用者 : sudo adduser www-data svn
[註:www-data為Apache 帳號]
3.新增資料夾
3.1新增svn資料夾 : sudo mkdir /home/svn
4.新增repository : sudo svnadmin create /home/svn/
5.設定存取群組
5.1移至路徑 : cd /home
5.2改變擁有者 : sudo chown -R root:svn svn
5.3變更檔案屬性 : sudo chmod -R g+rws svn
5.4新增www-data至shadow群組 : sudo adduser www-data shadow
6.修改dav_svn設定檔
6.1移至路徑 : /etc/apache2/mods-available/
6.2修改檔案dav_svn.conf : sudo pico dav_svn.conf
加入以下內容
< Location>
...
...
DAV svn
SVNPath /home/svn/
AuthType Basic
AuthName "subversion repository"
AuthUserFile /home/svn/passwd
AuthzSVNAccessFile /home/svn/authz
Require valid-user
< /Location>
7.新增密碼與權限檔案
7.1移至路徑 : cd /home/svn
7.2新增密碼檔案 : passwd
7.3新增權限檔案 : authz
8.新增svn使用者
8.1新增svn使用者: sudo htpasswd -c /home/svn/passwd user_name
ex: sudo htpasswd2 -c /home/svn/passwd jeffchang
之後他會要求你輸入密碼,輸入通過驗證後即完成。
8.2之後新的使用者只需要 sudo htpasswd /home/svn/passwd user_name即可
9.設定權限 (部分)
9.1修改 authz 檔案
輸入檔案內容:
[/]
jeffchang = rw
10.重新開啟apache server: sudo /etc/init.d/apache2 restart
11.完成,即可利用http通道簽入簽出。
防木馬軟體 - Spyware Terminator
Spyware Terminator 是一款免費的電腦防護程式,它主要針對木馬、間諜軟體、惡意網頁等網路攻擊或陷阱來進行即時的防護,並且為電腦先行寫入某些惡意網頁所會更改的資料,等於替電腦先施打了預防針一樣,讓你的電腦能夠免於這類型攻擊的傷害。
2007/03/07
Windows - 吃掉所有CPU資源的 svchost.exe
[轉貼自網友:醒來聞到咖啡香(Wake up and smell the Coffee)]
svchost.exe 吃掉所有 CPU 資源的原因很多,不過我的狀況都是在執行 Windwos Update 時發生的(或是自動更新服務 Automatic Updates 執行時)。因此解決方法主要就是把 Windows 的自動更新重設一次,步驟如下:
一、首先檢查系統服務的狀態。
1. 點「開始」–>「執行」,輸入「services.msc」後按「確定」。
2. 在服務「Automatic Updates」上點二下。
3. 點選「登入」頁籤,確定登入身分為「本機系統帳戶」且「允許服務與桌面互動」“沒有”被選取。
4. 確認服務已在目前的「硬體設定檔」中被啟用,如果沒有,按下「啟用」按鈕。
5. 點選「一般」頁籤,確定「啟動類型」為「自動」,然後按下「啟動」按鈕以啟動服務。
6. 對「Background Intelligent Transfer Service (BITS) 」服務重覆 2 ~ 5 的步驟。
二、接著重新註冊 Windwos Update 的元件。
1. 點選「開始」–>「執行」。
2. 輸入「REGSVR32 WUAPI.DLL」後按 Enter。
3. 當看到 “DllRegisterServer 在 WUAPI.DLL 成功” 的訊息後按下「確定」。
4. 重覆上述步驟重新註冊下列元件
REGSVR32 WUAUENG.DLL
REGSVR32 WUAUENG1.DLL
REGSVR32 ATL.DLL
REGSVR32 WUCLTUI.DLL
REGSVR32 WUPS.DLL
REGSVR32 WUPS2.DLL
REGSVR32 WUWEB.DLL
三、最後清除可能已損壞了的 Windows Update 暫存目錄。
1. 點「開始」–>「執行」,輸入「cmd」後按「確定」。
2. 在命令提示字元中鍵入以下指令。(若出現錯誤訊息請先重開機後再報執行一次)
net stop WuAuServ
2. 點「開始」–>「執行」,輸入「%windir%」後按「確定」。
3. 找到「SoftwareDistribution」並更名為「SDold」。
4. 點「開始」–>「執行」,輸入「cmd」後按「確定」,並在在命令提示字元中鍵入以下指令。
net start WuAuServ
四、大功告成!
svchost.exe 吃掉所有 CPU 資源的原因很多,不過我的狀況都是在執行 Windwos Update 時發生的(或是自動更新服務 Automatic Updates 執行時)。因此解決方法主要就是把 Windows 的自動更新重設一次,步驟如下:
一、首先檢查系統服務的狀態。
1. 點「開始」–>「執行」,輸入「services.msc」後按「確定」。
2. 在服務「Automatic Updates」上點二下。
3. 點選「登入」頁籤,確定登入身分為「本機系統帳戶」且「允許服務與桌面互動」“沒有”被選取。
4. 確認服務已在目前的「硬體設定檔」中被啟用,如果沒有,按下「啟用」按鈕。
5. 點選「一般」頁籤,確定「啟動類型」為「自動」,然後按下「啟動」按鈕以啟動服務。
6. 對「Background Intelligent Transfer Service (BITS) 」服務重覆 2 ~ 5 的步驟。
二、接著重新註冊 Windwos Update 的元件。
1. 點選「開始」–>「執行」。
2. 輸入「REGSVR32 WUAPI.DLL」後按 Enter。
3. 當看到 “DllRegisterServer 在 WUAPI.DLL 成功” 的訊息後按下「確定」。
4. 重覆上述步驟重新註冊下列元件
REGSVR32 WUAUENG.DLL
REGSVR32 WUAUENG1.DLL
REGSVR32 ATL.DLL
REGSVR32 WUCLTUI.DLL
REGSVR32 WUPS.DLL
REGSVR32 WUPS2.DLL
REGSVR32 WUWEB.DLL
三、最後清除可能已損壞了的 Windows Update 暫存目錄。
1. 點「開始」–>「執行」,輸入「cmd」後按「確定」。
2. 在命令提示字元中鍵入以下指令。(若出現錯誤訊息請先重開機後再報執行一次)
net stop WuAuServ
2. 點「開始」–>「執行」,輸入「%windir%」後按「確定」。
3. 找到「SoftwareDistribution」並更名為「SDold」。
4. 點「開始」–>「執行」,輸入「cmd」後按「確定」,並在在命令提示字元中鍵入以下指令。
net start WuAuServ
四、大功告成!
防毒軟體-Active Virus Shield
免費防毒軟體之王 - Active Virus Shield,你可以說他是卡巴斯基免費版,因為他是由 AOL 贊助,採用卡巴斯基核心並技術支援,經過測試,掃毒功力是目前最佳的,可以即時偵測病毒、木馬、間諜程式、廣告程式、撥號程式,並且可以即時透過電 子郵件回報電腦中毒,著名防毒軟體評測網站將其與各共享軟體一起評比,更獲得第二名的殊榮。不過!因為太過嚴謹,相對的會有誤判,建議具有相當電腦基礎的用戶使用。
註:著名防毒軟體評測網站(2006)
註:著名防毒軟體評測網站(2006)
show 出 request and session 的變數與值
Enumeration requestEnumer = request.getParameterNames();
while(requestEnumer.hasMoreElements()) {
str1 = (String) requestEnumer.nextElement();
str2 = request.getParameter(str1);
System.out.println(str1+"="+str2);
}
Enumeration sessionEnumer = session.getAttributeNames();
while(sessionEnumer.hasMoreElements()) {
str1 = (String) sessionEnumer.nextElement();
str2 = session.getAttribute(str1).toString();
System.out.println(str1+"="+str2);
}
while(requestEnumer.hasMoreElements()) {
str1 = (String) requestEnumer.nextElement();
str2 = request.getParameter(str1);
System.out.println(str1+"="+str2);
}
Enumeration sessionEnumer = session.getAttributeNames();
while(sessionEnumer.hasMoreElements()) {
str1 = (String) sessionEnumer.nextElement();
str2 = session.getAttribute(str1).toString();
System.out.println(str1+"="+str2);
}
2007/03/06
安裝 ubuntu-desktop 到 ubuntu-6.10 - LAMP Server
安裝好 ubuntu-6.10 - LAMP Server 之後
1.先設定root密碼
輸入指令:sudo passwd root
2.更新apt-get list
輸入指令:sudo apt-get update
3.安裝GUI介面
輸入指令:sudo apt-get install ubuntu-desktop
1.先設定root密碼
輸入指令:sudo passwd root
2.更新apt-get list
輸入指令:sudo apt-get update
3.安裝GUI介面
輸入指令:sudo apt-get install ubuntu-desktop
訂閱:
文章 (Atom)
NGINX SSL/設定檔案
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #...
-
Source: Automatically Retry Failed Jobs in Quartz Retrying continuously until success: If you want to keep trying over and over again un...
-
*主餐類 漢堡王炸雞腿-227大卡 華嫩雞條(6PCS)-259大卡 火烤漢堡-311大卡 火烤吉士漢堡-353大卡 小華堡-397大卡 華雪魚-471大卡 雙層吉士漢堡-534大卡 雙層燒烤培根堡-580大卡 華辣雞腿堡-597大卡 華香雞排堡-685大卡...
-
Download source files from here Upload files to the CentOS server Prepare the necessary files #yum -y install gcc gcc-c++ autoconf lib...