I'd like to connect to Oracle Database using Sahi 5.0 OS API:
var $db = _getDB($driver, $jdbcurl, $username, $password)
or
var $db = _getDB("oracle.jdbc.driver.OracleDriver",
"jdbc:oracle:thin:@dbserver:1521:sid",
"username", "password");
I have downloaded classes12.jar and ojdbc14.jar and put it in C:\Users\Username\sahi\extlib\db
I've also already added in 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
and in 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
However if I try use 1st method to use _getDB i've following result:
Java constructor for "net.sf.sahi.plugin.DBClient"
with arguments "string,string,string,string" not found.
When I use second one I have this:
Java constructor for "net.sf.sahi.plugin.DBClient"
with arguments "string,string,java.util.Properties" not found.
How connect I connect to Oracle DB and use methods like $db.select and $db.update?
I'm working on Windows 7 with JDK 1.8
I think I can help you. Was also getting errors when trying to connect to a database with Sahi OS.
The examples shown in https://sahipro.com/docs/sahi-apis/database-apis.html page are useful, but I believe there is more to the SAHI Pro. Because I said it above?
I tried a number of ways and was not loading the database. Another problem is that I was trying to insert and not recover data.
I began to analyze the obtained error (same as yours) and then found that the SAHI API, this class 'net.sf.sahi.plugin.DBClient', there is the constructor method in the class, the _getDb function () calls to start the object.
Concludes that it found the SAHI API available on Github and checked by the class.
There is no method builder, this function does not work for SAHI OS.
So we have to do this using functions of the JAVA language, as is the example: https://sahipro.com/docs/sahi-apis/database-apis.html#Accessing%20databases%20directly
I modified this function (as I said, I was entering in the database) to my need, which was inserted into the database and vualá !!!! It worked!
I used SQLite (the SAHI documentation contains no example)
To clarify, the function I created would be this:
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();
}
and then I got to use automated scripts (before I was just getting used testing directly on the page), saving directly in the local database.
Only in this way could use.