日期:2014-05-20  浏览次数:20677 次

请帮我看一下,这段servlet为什么不能访问oracle10g数据库,差在哪里??
import java.io.*;
import java.util.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Server extends HttpServlet
{
static Connection connection1;
static ResultSet result1;
static Statement statement1;
int record;
String record_String;

public void doPost(HttpServletRequest request, HttpServletResponse response )throws IOException, ServletException 
{
ServletInputStream input_Stream = request.getInputStream();
DataInputStream d_Inputstream = new DataInputStream(input_Stream );
String data_MIDlet = d_Inputstream.readUTF();
d_Inputstream.close();

try
{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
connection1 = DriverManager.getConnection("jdbc:odbc:vote","system","s123456");
statement1 = connection1.createStatement();
result1 = statement1.executeQuery("SELECT Current_Balance from Balance where Pin_No = " + data_MIDlet + "");


while(result1.next())
{
record = result1.getInt("current_balance");
}
try
{
if (connection1!=null) connection1.close();
}
catch(SQLException err)
{
System.out.println("Error:"+ err);
}
}
catch(Exception e)
{
System.out.println(e);
}
record_String = new String(Integer.toString(record));
StringTokenizer token = new StringTokenizer(record_String );
Vector vector1 = new Vector();
while( token.hasMoreTokens() )
{
vector1.addElement( token.nextToken() );
}

ByteArrayOutputStream byte_Out = new ByteArrayOutputStream();
DataOutputStream data_Out = new DataOutputStream( byte_Out );
int size = vector1.size();
data_Out.writeInt( size );
for( int i = 0; i < size; ++i )
{
data_Out.writeUTF( (String) vector1.elementAt( i ) );
}
byte[] data = byte_Out.toByteArray();

response.setContentType("application/octet-stream" );
response.setContentLength( data.length );
response.setStatus( response.SC_OK );
OutputStream out_Stream = response.getOutputStream();
out_Stream.write( data );
out_Stream.close();
}
}

------解决方案--------------------
connection1 = DriverManager.getConnection("jdbc:odbc:vote","system","s123456"); 
这个写错了

connection1 = DriverManager.getConnection ("jdbc:oracle:thin:@localhost:1521:orcl","用户","密码");