在做oracle脚本向MySQL脚本转换的过程中,遇到如下的一段脚本代码,不知道该如何转换,也不知道该如何下手,请各位指点下-- 创建一个JAVA的存储过程,此存储过程就是在服务器上创建目录CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED "Gaf_mkdir" AS
import java.io.File;
public class Gaf_mkdir
{
public static int createDir(String mainPath, String libName)
{
// 构造完整的文件名称
String fullName = mainPath+File.separator+libName;
File file = new File(fullName);
// 如果路径已经存在,则直接返回
if ( file.exists() ) return 1;
if ( file.mkdir() ) return 1;
//创建目录失败,返回
return -1;
}
}-- 创建一个可以创建目录的函数
CREATE FUNCTION af_mkdir(mainPath STRING, libName STRING)
RETURNS NUMERIC
AS LANGUAGE JAVA
NAME 'Gaf_mkdir.createDir(java.lang.String, java.lang.String) return int';
-- 创建一个可以创建目录的过程
DROP PROCEDURE IF EXISTS paf_mkdir
CREATE PROCEDURE paf_mkdir(mainPath VARCHAR(128), libName VARCHAR(128))
BEGIN
declare x numeric;
declare v_af_user varchar(30); select user into v_af_user from dual;
dbms_java.grant_permission(v_af_user, 'SYS:java.io.FilePermission', CONCAT(mainPath,'/',libName, 'read, write'));
x := af_MKDIR(mainPath, libName);
END;
import java.io.File;
public class Gaf_mkdir
{
public static int createDir(String mainPath, String libName)
{
// 构造完整的文件名称
String fullName = mainPath+File.separator+libName;
File file = new File(fullName);
// 如果路径已经存在,则直接返回
if ( file.exists() ) return 1;
if ( file.mkdir() ) return 1;
//创建目录失败,返回
return -1;
}
}-- 创建一个可以创建目录的函数
CREATE FUNCTION af_mkdir(mainPath STRING, libName STRING)
RETURNS NUMERIC
AS LANGUAGE JAVA
NAME 'Gaf_mkdir.createDir(java.lang.String, java.lang.String) return int';
-- 创建一个可以创建目录的过程
DROP PROCEDURE IF EXISTS paf_mkdir
CREATE PROCEDURE paf_mkdir(mainPath VARCHAR(128), libName VARCHAR(128))
BEGIN
declare x numeric;
declare v_af_user varchar(30); select user into v_af_user from dual;
dbms_java.grant_permission(v_af_user, 'SYS:java.io.FilePermission', CONCAT(mainPath,'/',libName, 'read, write'));
x := af_MKDIR(mainPath, libName);
END;
MYSQL目前不支持java写的外部存储过程或函数。只能按照同样的算法在MYSQL中写MYSQL的存储过程。如果需要转换,你可以先参考一下MYSQL手册中的存储过程语法说明和例子。 如果你改好的代码仍有科问题,则可以将你自己改的原代码和错误信息一同贴子以供大家分析。
可是关键地方没看懂,而且也没操作成功。我按照老的的说法先试试,有问题的话,再请教大家。
ACCEPT af_main_path PROMPT "请输入GAFIS 数据库的主目录:"
语句吗?功能是屏幕输出:请输入GAFIS 数据库的主目录:,然后将输入结果赋给变量af_main_path ?
看资料时,没找到合适地方法,我该怎么做?是直接设置全局环境变量(觉得这样少功能了),还是别的方法?
还有多少问题,请一次性提出。
只是麻烦点。