0
javaを使用してテーブル関数を作成できる場合は、テスト目的で単純なSQL文を使用しました。
ただし、関数の作成が完了するまでに非常に時間がかかり、他のdbユーザーにタイムアウトが発生します。
ご意見はありますか?私がのSQLServer 2008を使用してい
は、すべてのヘルプは高く評価されてSQLを使用してSQL Serverテーブル関数を作成する
try {
Statement statement = conn.createStatement();
CallableStatement cs ;
String retValue ;
cs = conn.prepareCall("{? = call dbo.isTableFunctionExists(?)}");
cs.registerOutParameter(1, Types.INTEGER);
lcString = "PAY_UDTF_"+this.textField1.getValue().toString() ;
cs.setString(2, lcString);
cs.execute();
retValue = cs.getString(1);
if (retValue.equals("1")) {
System.out.println("EXISTS");
lcSql = " ALTER ";
}else{
System.out.println("NOT FOUND");
lcSql = " CREATE ";
}
lcSql = lcSql + " FUNCTION [dbo].[" ;
lcSql = lcSql + lcString +"] (@pDate date)";
lcSql = lcSql + " RETURNS TABLE AS RETURN (";
lcSql = lcSql + " SELECT * FROM dbo.HR_EMPLOYMENT hre ";
lcSql = lcSql + " Where @pDate between hre.effective_start_date and hre.effective_end_date) ";
//statement.execute(lcSql);
statement.executeUpdate(lcSql);
statement.close();
System.out.println("COMPLETED");
} catch (Exception e) {
System.out.println("EXCEPTION"+e);
}
return null;
を表現します。
おかげで、
エルマー
データベースドライバを使用していますか?それを変更しようとしましたか?ボトルネックはどこにあるのか知っていますか?それはSQL Serverにありますか?確認するためにwiresharkを実行してみてください。 – javamonkey79
私はMicrosoft SQL Server JDBC Driver 2.0を使用しています。私はSQL Serverの管理スタジオで関数を作成しようとし、それは正常に働いた。私はwiresharkに精通していない。 – Elmer