如何使用Sahi 5.0 OS连接到Oracle DB

时间:2015-02-27 10:14:33

标签: oracle oracle11g sahi

我想使用Sahi 5.0 OS API连接到Oracle数据库:

var $db = _getDB($driver, $jdbcurl, $username, $password)

var $db = _getDB("oracle.jdbc.driver.OracleDriver",
          "jdbc:oracle:thin:@dbserver:1521:sid",
          "username", "password");

我已下载 classes12.jar ojdbc14.jar 并将其放入 C:\ Users \ Username \ sahi \ extlib \ db

我已经添加了 dashboard.bat

set SAHI_CLASS_PATH=%SAHI_HOME%\lib\sahi.jar;
%SAHI_HOME%\extlib\rhino\js.jar;%SAHI_HOME%\extlib\apc\commons-codec-1.3.jar;
%SAHI_HOME%\extlib\db\ojdbc14.jar;%SAHI_HOME%\extlib\db\classes12.jar

并在 dashboard.sh

SAHI_CLASS_PATH=$SAHI_HOME/lib/sahi.jar:$SAHI_HOME/extlib/rhino/js.jar:
$SAHI_HOME/extlib/apc/commons-codec-1.3.jar:
$SAHI_HOME/extlib/db/ojdbc14.jar:$SAHI_HOME/extlib/db/classes12.jar

但是,如果我尝试使用第一种方法来使用_getDB,我会得到以下结果:

Java constructor for "net.sf.sahi.plugin.DBClient" 
with arguments "string,string,string,string" not found.

当我使用第二个时,我有这个:

Java constructor for "net.sf.sahi.plugin.DBClient"
with arguments "string,string,java.util.Properties" not found.

如何连接我连接到Oracle DB并使用$ db.select和$ db.update等方法?

我在使用JDK 1.8的Windows 7上工作

1 个答案:

答案 0 :(得分:0)

我想我可以帮助你。 尝试使用Sahi OS连接数据库时也遇到错误。

https://sahipro.com/docs/sahi-apis/database-apis.html页面中显示的示例很有用,但我相信SAHI Pro还有更多内容。 因为我上面说过了吗?

我尝试了很多方法,但没有加载数据库。另一个问题是我试图插入而不是恢复数据。

我开始分析获得的错误(和你的一样),然后发现SAHI API,这个类'net.sf.sahi.plugin.DBClient',类中有构造函数方法,_ getDb函数( )调用启动对象。

结论是它在Github上找到了SAHI API,并在课堂上进行了检查。

没有方法构建器,此功能对SAHI OS不起作用。

所以我们必须使用JAVA语言的功能来做到这一点,例如:https://sahipro.com/docs/sahi-apis/database-apis.html#Accessing%20databases%20directly

我修改了这个功能(就像我说的,我是在数据库中输入的)我的需要,它被插入数据库和vualá!!!!它奏效了!

我使用了SQLite(SAHI文档不包含任何示例)

为了澄清,我创建的函数将是:


function setRawDB(driverName,jdbcurl,sqlQuery){
java.lang.Class.forName(driverName);
var connection = java.sql.DriverManager.getConnection(jdbcurl);
var stmt = connection.createStatement();
var query = stmt.executeUpdate(sqlQuery);
stmt.close();
// sahi auto commit
//connection.commit();
connection.close();
}

然后我开始使用自动脚本(在我刚刚在页面上直接使用测试之前),直接保存在本地数据库中。

只有这样才能使用。