create alias if not exists sardine_copy as $$
import java.io.*;
import java.sql.*;
import org.h2.tools.*;
import com.googlecode.sardine.*;
import com.googlecode.sardine.util.*;
@CODE
int sardine_copy(String url,
String user, String password,
String src, String dst)
throws Exception
{
if( url == null ){
throw new Exception("url is not specified.");
}
user = (user == null)?"":user;
password = (password == null)?"":password;
if( src == null ){
throw new Exception("src is not specified.");
}
if( dst == null ){
throw new Exception("dst is not specified.");
}
Sardine sardine = SardineFactory.begin(user, password);
sardine.copy(url+SardineUtil.encode(src),
url + SardineUtil.encode(dst));
return 0;
}
$$
実行例
select sardine_copy(
'http://192.168.1.208:8080/repository/default/',
'user', 'password',
'サンプル.JPG', 'サンプル2.JPG'
);
※システム環境変数CLASSPATHにtools.jarとSardine関連のjar
(sardine.jar, httpcore-4.0.1.jar, httpclient-4.0.1.jar,
commons-codec-1.4.jar, commons-logging-1.1.1.jar)を追加しておくこと。
動作環境
JDK6 Update 22, H2 Database 1.2.146 (2010-11-08), sardine-129
○関連情報
・H2 Database上でsardineでWebDAVサーバと連携するユーザ定義関数のまとめ
・H2 Databaseに関する他の記事はこちらを参照してください。
0 件のコメント:
コメントを投稿