java运行job时需要传入数据库参数,kettle怎么设定数据库密码为参数

java运行job时需要传入数据库参数,kettle怎么设定数据库密码为参数,第1张

创建数据库

选择开始菜单中→程序→Management SQL Server 2008→SQL Server Management Studio命令,打开SQL Server Management Studio窗口,并使用Windows或 SQL Server身份验证建立连接。

在对象资源管理器窗口中展开服务器,然后选择数据库节点

右键单击数据库节点,从d出来的快捷菜单中选择新建数据库命令。

执行上述 *** 作后,会d出新建数据库对话框。在对话框、左侧有3个选项,分别是常规、选项和文件组。完成这三个选项中的设置会后,就完成了数据库的创建工作,

在数据库名称文本框中输入要新建数据库的名称。例如,这里以“新建的数据库”。

在所有者文本框中输入新建数据库的所有者,如sa。根据数据库的使用情况,选择启用或者禁用使用全文索引复选框。

在数据库文件列表中包括两行,一行是数据库文件,而另一行是日记文件。通过单击下面的添加、删除按钮添加或删除数据库文件。

切换到选项页、在这里可以设置数据库的排序规则、恢复模式、兼容级别和其他属性。

切换到文件组页,在这里可以添加或删除文件组。

完成以上 *** 作后,单击确定按钮关闭新建数据库对话框。至此“新建的数据”数据库创建成功。新建的数据库可以再对象资源管理器窗口看到。

你使用log4j就可以了,配置如下:

<appender name="PROJECT" class="orgapachelog4jDailyRollingFileAppender">

        <param name="File" value="/xxx/xxx/xxxlog"/>

        <param name="DatePattern" value="''yyyyMMdd'log'"/>

        <layout class="orgapachelog4jPatternLayout">

            <param name="ConversionPattern" value="%d{MMdd HH:mm:ss SSS},%m%n"/>

        </layout>

    </appender>

不能使用stop,即便这个方法起作用也不能使用

run(){

try{

//……more job

}catch(InterruptedException e){

ThreadcurrentThread()interrupt();

}

}

解决方法:

1、windows下如果java_home设置了,下面可以不用设置,如果提示JVM不能正常启动Could not find the main class Program will exit!

2、可以设置环境变量:pentaho_java_home,例如:C:\Program Files\Java\jdk170_79,其实就是你的java安装目录,16以上即可(通过验证)。

3、如果启动还报错“could not create the Java virtual machine”,不是java虚拟机出了问题,修改一下spoonbat里内存配置。

4、if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms2058m" "-Xmx1024m" "-XX:MaxPermSize=256m"改为if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms512m" "-Xmx512m" "-XX:MaxPermSize=256m"。

resultgetrows不是获取trans流程里面‘流动’的数据的。

trans里面有个‘复制记录到结果’插件,输出到里面的数据,通过resultgetrows就能获取。java中获取结果集ResutSet的总条数,可以直接使用其提供的getRow方法来取得,实例如下:

(二) 安装jre-6u23-linux-x64bin

将jre-6u23-linux-x64bin上传到linux服务器

1 在终端上,键入:

su

2 输入超级用户口令。

3 切换到所需的安装目录。类型:

cd <</strong>目录路径名>

例如,要在 /usr/java/ 目录中安装软件,请键入:

cd /usr/java/

关于超级用户访问权限的说明:要将 JRE 安装在系统级位置(例如 /usr/local),必须以超级用户身份登录,从而获得必要的权限。如果您不具有超级用户访问权限,请将 JRE 安装在您的主目录中,或者安装在您具有写入权限的子目录中。

4 将您下载的文件的权限更改为可执行。类型:

chmod a+x jre-6u23-linux-x64bin

5 启动安装过程。键入:

/ jre-6u23-linux-x64bin

此时将显示二进制许可协议。通读许可协议。按空格键显示下一页。读完许可协议后,输入 yes 继续安装(此步骤可能直接跳过)。

7 JRE 安装在其自身的目录中。在本例中,它将安装在 /usr/java/ jre160_23目录中。当安装完成时,您将看到Done(完成)字样。

(三) 配置java环境变量

1 命令行键入“cd /etc”进入etc目录

2 命令行键入“vi profile”打开profile文件

3 敲击键盘ctrl+F到文件末尾

4 在末尾处,即第一个~的地方,敲击键盘将以下内容输入到文件

JAVA_HOME=/usr/java/jre160_23

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=:$JAVA_HOME/lib/dtjar:$JAVA_HOME/lib/toolsjar

export JAVA_HOME

export PATH

export CLASSPATH

5 键盘敲击exc,命令行键入“:wq”,保存文件;

6 重新登录linux,在命令行键入“java”,如果出现帮助信息则表示配置成功。

然后,部署kettle

1 将pdi-ce-410-stablezip上传到linux服务器

2 使用unzip命令解压pdi-ce-410-stablezip

unzip pdi-ce-410-stablezip -d "/mnt/kettle"

3 赋予解压目录下sh文件的执行权力

chmod +x sh

4 进入解压目录,键入“/kitchensh”回车,如果有帮助信息则表示kettle环境部署成功

※(重点)接着,编写执行kettle任务的shell脚本

创建testsh,将以下内容复制粘贴到里面,然后键入“chmod +x /mnt/kettle/sh”,赋予testsh执行权限。

export JAVA_HOME=/usr/java/jre160_23

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=:$JAVA_HOME/lib/dtjar:$JAVA_HOME/lib/toolsjar

/mnt/kettle/data-integration/kitchensh -file=/mnt/kettle/testkjb > /mnt/kettle/displaytxt

说明:

前3行,设置java环境变量的语句必不可少,

因为crond是个守护进程,它不归属于任何用户,虽然之前以root身份配置了java的环境变量,但是crond一样找不到java命令,

所以,当crond执行kettle任务时,需要动态设置java环境变量,crond才能找到java命令。

最后,使用crontab命令添加定时任务

版本不一致。kettle连接数据库报错javalangClassCastException:javamathBiglnteger是因为驱动包版本不一致,将数据库的版本升级至为8011即可。

12

编译源码

将项目加载到eclipse

将kettle项目拷贝到eclipse的workspace目录下,在eclipse中新建java

project,项目名称和你拷贝过来的kettle文件夹名称一致

项目导入到eclipse中会出现一个错误,如下图,将这个文件的源码全部注释掉

编译

以上就是关于java运行job时需要传入数据库参数,kettle怎么设定数据库密码为参数全部的内容,包括:java运行job时需要传入数据库参数,kettle怎么设定数据库密码为参数、java调用本地的job怎么按时间生成日志, kettle、kettle4.0 怎么停止jAVA中调用的本地job等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10105489.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存