T
Tobias Kern
Gast
Hi,
habe folgendes Problem es geht hier um ein WebService der auf die Datenbank zugreifen und jegliche Select Anweisungen ausführen soll.
Die Ausführung wird bzw. soll mit einem Client gestartet werden.
Wäre für jeden Hilfe sehr dankbar danke im Voraus.
Dies habe ich soweit keine Ahnung ob das auch stimmt wäre super wenn jemand mal drüber schauen könnte...
Habe soweit meinen WebService so gestaltet:
Client dazu eine Jsp Datei:
habe folgendes Problem es geht hier um ein WebService der auf die Datenbank zugreifen und jegliche Select Anweisungen ausführen soll.
Die Ausführung wird bzw. soll mit einem Client gestartet werden.
Wäre für jeden Hilfe sehr dankbar danke im Voraus.
Dies habe ich soweit keine Ahnung ob das auch stimmt wäre super wenn jemand mal drüber schauen könnte...
Habe soweit meinen WebService so gestaltet:
Code:
import java.io.*;
import java.sql.*;
import oracle.jdbc.driver.OracleDriver;
import oracle.jdbc.pool.OracleDataSource;
//Hier können alle Befehle ausgeführt werden
public class Select
{
public static final String Ausgabe( String sSql )
{
String sDbDrv=null,
sDbUrl=null,
sTable=null,
sUsr="",
sPwd="";
if( null != sDbDrv && 0 < sDbDrv.length() &&
null != sDbUrl && 0 < sDbUrl.length() &&
null != sTable && 0 < sTable.length() ) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// Select fitting database driver and connect:
Class.forName( sDbDrv );
conn = DriverManager.getConnection( sDbUrl, sUsr, sPwd );
stmt = conn.createStatement();
rs = stmt.executeQuery( sSql );
// Get meta data:
ResultSetMetaData rsmd = rs.getMetaData();
int i, n = rsmd.getColumnCount();
// Print table content:
for( i=0; i<n; i++ )
System.out.print( "+----------------------" );
System.out.println( "+" );
for( i=1; i<=n; i++ ) // Attention: first column with 1 instead of 0
System.out.print( "| " + extendStringTo21( rsmd.getColumnName( i ) ) );
System.out.println( "|" );
for( i=0; i<n; i++ )
System.out.print( "+----------------------" );
System.out.println( "+" );
while( rs.next() ) {
for( i=1; i<=n; i++ ) // Attention: first column with 1 instead of 0
System.out.print( "| " + extendStringTo21( rs.getString( i ) ) );
System.out.println( "|" );
}
for( i=0; i<n; i++ )
System.out.print( "+----------------------" );
System.out.println( "+" );
} catch( Exception ex ) {
System.out.println( ex );
} finally {
try { if( null != rs ) rs.close(); } catch( Exception ex ) {}
try { if( null != stmt ) stmt.close(); } catch( Exception ex ) {}
try { if( null != conn ) conn.close(); } catch( Exception ex ) {}
}
}
return sSql ;
}
// Extend String to length of 21 characters
private static final String extendStringTo21( String s )
{
if( null == s ) s = "";
final String sFillStrWithWantLen = " ";
final int iWantLen = sFillStrWithWantLen.length();
final int iActLen = s.length();
if( iActLen < iWantLen )
return (s + sFillStrWithWantLen).substring( 0, iWantLen );
if( iActLen > 2 * iWantLen )
return s.substring( 0, 2 * iWantLen );
return s;
}
}
Client dazu eine Jsp Datei:
Code:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<%@ taglib uri="/WEB-INF/taglibs-io.tld" prefix="io" %>
<%@ page import = "java.sql.*" isThreadSafe="false" %>
<%@ page import = "oracle.jdbc.driver.OracleDriver" isThreadSafe="false" %>
<%@ page import = "oracle.jdbc.pool.OracleDataSource" isThreadSafe="false" %>
<%
final String urlLocalhost =
"http://localhost:8083/MeinWebServiceSelect/services/MeinWebServiceSelect";
String url = request.getParameter( "url" );
String DbDrv = request.getParameter( "DbDrv" );
String DbUrl = request.getParameter( "DbUrl" );
String Usr = request.getParameter( "Usr" );
String Pwd = request.getParameter( "Pwd" );
String Table = request.getParameter( "Table" );
String Sql = request.getParameter( "Sql" );
url = ( null != url ) ? url.trim() : urlLocalhost;
DbDrv = ( null != DbDrv ) ? DbDrv.trim() : "oracle.jdbc.driver.OracleDriver";
DbUrl = ( null != DbUrl ) ? DbUrl.trim() : "jdbc:oracle:thin:@localhost:1521:xe";
Usr = ( null != Usr ) ? Usr.trim() : " hr ";
Pwd = ( null != Pwd ) ? Pwd.trim() : " fenerium ";
Table = ( null != Table ) ? Table.trim() : "Employees";
Sql = ( null != Sql ) ? Sql.trim() : "";
%>
<html>
<head> <title>Mein Web Service Client Select Database</title> </head>
<body>
<h2>Mein Web Service Client Select Database</h2>
<form method="post"><pre>
Endpoint-URL : <input type="text" name="url" value='<%= url %>' size=80>
D.-Treiber : <input type="text" name="DbDrv" value='<%= DbDrv %>' size=80>
D.-Url : <input type="text" name="DbUrl" value='<%= DbUrl %>' size=80>
User : <input type="text" name="Usr" value='<%= Usr %>' size=80>
Password : <input type="password" name="Pwd" value='<%= Pwd %>' size=80>
Tabelle : <input type="text" name="Table" value='<%= Table %>' size=80>
Sql-Kommando : <input type="text" name="Sql" value='<%= Sql %>' size=80>
<input type="submit" name="submit" value="Ausgabe">
</pre></form>
<h3><hr>Ausgabe( <%= Sql %>) --&
<% out.flush(); %>
<io:soap url="<%= url %>" SOAPAction="">
<io:body>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<m:Ausgabe xmlns:m="http://meinpackage">
<in0><%= Sql %></in0>
</m:Ausgabe>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
</io:body>
</io:soap>
<hr></h3>
</body>
</html>