Archiv verlassen und diese Seite im Standarddesign anzeigen : MDW MX und Oracle Connection
Hallo!
bin anfänger in jsp, deswegen frage nur simple sachen.
Vor kurzem habe ich gesehn, dass Macromedia DreamweaverMX kann die JSP ab. Hab mir mal 'ne test-version besorgt und versuche damit einen Oracle8i-Connection aufzubauen.
Als Webserver läuft Tomcat4.05.
Also ich erstelle Connection Oracle Thin Driver:
Driver - oracle.jdbc.driver.OracleDriver
URL - jdbc:0racle:thin:@[hostname]:[port]:[sid] // daten sind korrekt
User - XXXX
PWD - XXXX
DWConn - Test Server
Dannach versuche ich Connection zu testen und bekomme folgendes fehler : oracle.jdbc.driver.OracleDriver Class not found
Die JSDK habe ich schon neu installiert und Tomcat auch ..
Hat jemand einen Tipp für mich? Ich möchte schon ganz gerne DW zwingen JDBC zu benutzen ;) und Connection ohne Jbeans zusatnde bringen.
Danke iV
AJ
vielleicht kannst du die 2 zeilen code posten, wie du auf die klasse zugreifst!?
bei Tomcat sollten die klassen im WEB-INF/classes verzeichnis liegen
Hi!
das ist auch das problem MrEasy, Dreamveaver erstellt nur eine datei mit Connection-daten
Inhalt der mxOraConn.jsp:
<%
// FileName="oracle_jdbc_conn.htm"
// Type="JDBC" ""
// DesigntimeType="JDBC"
// HTTP="true"
// Catalog=""
// Schema=""
String MM_mmxOraConn_DRIVER = "oracle.jdbc.driver.OracleDriver";
String MM_mmxOraConn_USERNAME = "XXXX";
String MM_mmxOraConn_PASSWORD = "XXXX";
String MM_mmxOraConn_STRING = "jdbc:oracle:thin:@XXXX:1521:XXXX";
%>
weiter bin ich nicht gekommen, weil es kommt keinen verbindung zustande und DW kann keine weitere aktionen durchführen.
Im Verzeichniss Tomcat\webapps\ROOT\WEB-INF gibts kein subfolder namens classes und auch keine java files.
(p.s. ich glaub ich muss mir iis/asp denkweise abgewöhnen und statt DW zu benutzen, einfach zu fuss versuchen
p.p.s. sorry wegen schreibfehlern)
danke und guesse AJ
tja, es würde mich anhand des code-beispiels auch sehr wundern, wenn du mit der deklaration von 4 Strings eine datenbankverbindung zustande bringen würdest :D
ich würde mal sagen, dir fehlt da was wesentliches ;)
ich mag dreamweaver nich *spam*
moin moin!
ich bin wieder da :p (jetzt ohne Dreamweaver)
nach mehreren versuchen auf Oracle zu kommen bekomme ich gleichen fehler :
Error 500
Internal Servlet Error:
javax.servlet.ServletException: Unable to load class oracle.jdbc.driver.OracleDriver
Root cause:
java.lang.ClassNotFoundException: Unable to load class oracle.jdbc.driver.OracleDriver
:mauer:
Ich habe die oracle-jdbc treiber runtergeladen und in CLASSPATH eingebunden :
CLASSPATH= %JAVA_HOME%\jre\lib\ext\classes12.zip
(JAVA_HOME=C:\jdk1.3.1_01)
folgendes (beispiel)code wird ausgeführt:
<%@ page import = "java.sql.*" isThreadSafe="false" %>
<%
String sDbDrv = "oracle.jdbc.driver.OracleDriver";
String sDbUrl = "jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL";
String sUsr = "";
String sPwd = "";
String sTable = "TestTabelle";
String sSql = "";
if( request.getParameterNames().hasMoreElements() == true )
{
sDbDrv = request.getParameter( "prmDbDrv" );
sDbUrl = request.getParameter( "prmDbUrl" );
sUsr = request.getParameter( "prmUsr" );
sPwd = request.getParameter( "prmPwd" );
sTable = request.getParameter( "prmTab" );
sSql = request.getParameter( "prmSql" );
if( null != sTable && 0 < sTable.length() &&
(null == sSql || 0 == sSql.length()) )
sSql = "SELECT * FROM " + sTable;
}
%>
<form method="post"><pre>
Db-Treiber <input type="text" name="prmDbDrv" value='<%= sDbDrv %>' size=60><br>
Db-URL <input type="text" name="prmDbUrl" value='<%= sDbUrl %>' size=60><br>
Benutzer <input type="text" name="prmUsr" value='<%= sUsr %>' size=60><br>
Kennwort <input type="password" name="prmPwd" value='<%= sPwd %>' size=60><br>
Tabellenname <input type="text" name="prmTab" value='<%= sTable %>' size=60><br>
SQL-Kommando <input type="text" name="prmSql" value='<%= sSql %>' size=60>
(nach Änderung anderer Parameter muss SQL-Kommando gelöscht werden)<br>
<input type="submit" name="submit" value="Datenbanktabelle anzeigen">
</pre></form>
<%
if( request.getParameterNames().hasMoreElements() == true
&& null != sDbDrv && 0 < sDbDrv.length()
&& null != sDbUrl && 0 < sDbUrl.length()
&& null != sSql && 0 < sSql.length() )
{
Class.forName( sDbDrv );
Connection cn = DriverManager.getConnection( sDbUrl, sUsr, sPwd );
java.sql.Statement st = cn.createStatement();
ResultSet rs = st.executeQuery( sSql );
ResultSetMetaData rsmd = rs.getMetaData();
int n = rsmd.getColumnCount();
out.println( "<table border=1 cellspacing=0><tr>" );
for( int i=1; i<=n; i++ )
out.println( "<th>" + rsmd.getColumnName( i ) + "</th>" );
while( rs.next() )
{
out.println( "</tr><tr>" );
for( int i=1; i<=n; i++ )
out.println( "<td>" + rs.getString( i ) + "</td>" );
}
out.println( "</tr></table>" );
rs.close();
st.close();
cn.close();
}
%>
Sind die Trieber nicht korrekt installiert?
Danke iv
alexej
treiber denk ich mal korrekt wundert mich nur, dass es ein zip und kein jar archiv ist, alternativ kannste auch die klassen in das aktuelle projektverzeichnis entpacken
spontane idee:
statt Class.forName(_sDbDrv_);
benutze
Class.forName(_sDbDrv_).newInstance();
weil forName() liefert nur die klasse zurück aber newInstance() liefert eine Instanz der Klasse
siehe auch: http://java.sun.com/j2se/1.4/docs/api/java/lang/Class.html
hiho!
Danke sehr MrEasy!
Es funzt nun! :D
die Ora8 treiber zu jdk13 sind verzipt und Ora9 für jdk14 sind als .jar auf oracle.com zu downloaden.
grüße
alexej
ach ja .. die zipdatein mit klassen sollte man lieber in WEB-INF/classes entpacken da Sevletcontainer nur nach jar's WEB-INF/lib durchsucht ..
cu
aj
Hi,
was genau muss ich denn nun runterladen, wenn ich auf ne 8.1.7 datenbank per jsp zugreifen will??
find da nix bei oracle. :(
thanks
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.