Salve caros parceiros,
Sou iniciante em JAVA, e estou montando uma conexão para inserir dados no MSSQL server.
Copiei a rotina abaixo do próprio site da Microsoft:
// Estou colocando a rotina e o erro em vermelho
[color=“red”]import java.*;
public class ConectaBD {
private java.sql.Connection con = null;
private final String url = “jdbc:microsoft:sqlserver://”;
private final String serverName= “127.0.0.1”;
private final String portNumber = “80”;
private final String databaseName = “AgSql”;
private final String userName = “sa”;
private final String password = “francauto”;
// Informs the driver to use server a side-cursor,
// which permits more than one active statement
// on a connection.
private final String selectMethod = “cursor”;
// Constructor
public ConectaBD(){}
private String getConnectionUrl(){
return url+serverName+":"+portNumber+";databaseName="+databaseName+";selectMethod="+selectMethod+";";
}
private java.sql.Connection getConnection(){
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con = java.sql.DriverManager.getConnection(getConnectionUrl(),userName,password);
if(con!=null) System.out.println("Connection Successful!");
}catch(Exception e){
e.printStackTrace();
System.out.println("Error Trace in getConnection() : " + e.getMessage());
}
return con;
}
/*
Display the driver properties, database details
*/
public void displayDbProperties(){
java.sql.DatabaseMetaData dm = null;
java.sql.ResultSet rs = null;
try{
con= this.getConnection();
if(con!=null){
dm = con.getMetaData();
System.out.println("Driver Information");
System.out.println("\tDriver Name: "+ dm.getDriverName());
System.out.println("\tDriver Version: "+ dm.getDriverVersion ());
System.out.println("\nDatabase Information ");
System.out.println("\tDatabase Name: "+ dm.getDatabaseProductName());
System.out.println("\tDatabase Version: "+ dm.getDatabaseProductVersion());
System.out.println("Avalilable Catalogs ");
rs = dm.getCatalogs();
while(rs.next()){
System.out.println("\tcatalog: "+ rs.getString(1));
}
rs.close();
rs = null;
closeConnection();
}else System.out.println("Error: No active Connection");
}catch(Exception e){
e.printStackTrace();
}
dm=null;
}
private void closeConnection(){
try{
if(con!=null)
con.close();
con=null;
}catch(Exception e){
e.printStackTrace();
}
}
/// Inicio do Teste da Classe
public static void main(String[] args) throws Exception
{
ConectaBD myDbTest = new ConectaBD();
///System.out.println("My actual class path is " + System.getProperty("java.class.path") );
myDbTest.displayDbProperties();
}
} // do final da classe[/color]
Porém quando tento executar, ele fica uns 10 minutos parados e me dá o erro:
[color=“red”][color=brown]java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Connection reset
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at ConectaBD.getConnection(ConectaBD.java:37)
at ConectaBD.displayDbProperties(ConectaBD.java:54)
at ConectaBD.main(ConectaBD.java:95)
Error Trace in getConnection() : [Microsoft][SQLServer 2000 Driver for JDBC]Connection reset
Error: No active Connection[/color][/color]
Que devo fazer para que esta conexão fique válida ?
obrigado
Dory Edson.