SQL Server y JAVA

batusai
18 de Octubre del 2004
Que tal necesito saber como conectarme a una BD de Sql Server, necesito hacer una aplicacion con una pantalla que me permita introducir el username y el password y que si el usuario esta registrado en la bd me presente una pantlla que diga por ejemplo bienvenido y si no esta registrado una pantalla que diga qque no.
de antemado muchas gracias.

nicokiki
18 de Octubre del 2004
Hola!!!!!!!

Te podes conectar via odbc:jdbc (bridge) o directamente por JDBC y seguro debe haber otra manera. Te paso un ejemplo de JDBC directo. Tenes q ir al site de Microsoft y bajarte (gratuitamente) los tres .jar para logralo. Registralos en el classpath y en el IDE q uses (o no si no usas ninguno).
Codigo de conexion:

public class JBaseDatos
{
/** Instancia de la clase JConstantes para poder utilizar las constantes */
private static JConstantes constante = new JConstantes();
/** Driver de la base de datos */
private static Driver driver = null;
/** Conexion a la base de datos */
private static Connection conexion = null;
/** Instancia de la clase JBaseDatos */
private static JBaseDatos instancia = null;
/** */
private static Statement stmtConsulta = null;
/** */
private static ResultSet resultSetConsulta = null;
/** */


/** Constructor privado */
private JBaseDatos()
{
this.conectar();
}
//------------------------------------------------------------------------------

/** Metodo static q llama al constructor privado
* @returns Instancia unica de la clase */
public synchronized static JBaseDatos getInstancia()
{
if (instancia == null)
instancia = new JBaseDatos();
return instancia;
}
//------------------------------------------------------------------------------

/** @returns Conexion a la base de datos */
public synchronized Connection getConexion()
{
return this.conexion;
}
//------------------------------------------------------------------------------

/** Metodo que se conecta a la base de datos de la aplicacion
* @todo VERRR */
private synchronized void conectar()
{
final String urlBaseDatos = "jdbc:microsoft:sqlserver://localhost:1433;databaseName=Base";
final String usuario = "sa";
final String password = "";
final String nombreDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
try
{
// Carga del driver en memoria.
try
{
Class.forName(nombreDriver);
}
catch (ClassNotFoundException exc)
{
System.err.println("SQL SERVER 2000 no se encuentra definido en el class path.n");
exc.printStackTrace();
System.exit(1);
}
// A esta altura el driver debería estar registrado con el driver manager.
try
{
driver = DriverManager.getDriver (urlBaseDatos);
System.out.println ("Sql Server 2000 version " + driver.getMajorVersion () +
"." + driver.getMinorVersion () + " registrada con el driver manager.");
}
catch (SQLException exc)
{
System.err.println("No se ha podido encontrar SQL SERVER 2000 entre los drivers registrados.n");
exc.printStackTrace();
System.exit(1);
}
// SQL SERVER 2000 esta ahora registrado con el driver manager
// Ahora se intentara conseguir una conexion con la base de datos
try
{
conexion = DriverManager.getConnection (urlBaseDatos, usuario, password);
System.out.println ("Conexion establecida.n");
}
catch (SQLException exc)
{
System.err.println("Error al establecer la conexion.n");
exc.printStackTrace();
System.exit(1);
}

// Deshabilitacion del autocommit
try
{
conexion.setAutoCommit(false);
System.out.println ("Auto-commit deshabilitado.n");
}
catch (SQLException exc)
{
System.err.println ("Error al deshabilitar el auto-commit.n");
return;
}
}
finally
{
}
}
//------------------------------------------------------------------------------


Hay cosas q no vas a entender porque te tendria q mandar bastantes clases pero la idea es esa

Salu2!!!!