Foros del Web » Programación para mayores de 30 ;) » Java »

JDBC - Sql Serer

Estas en el tema de JDBC - Sql Serer en el foro de Java en Foros del Web. Hola buenas tardes !!! Verán, acabo de hacer una pequeña aplicacion en MySQL usando el mysql-connector.jar y todo me ha ido bien. Ahora, quiero hacer ...
  #1 (permalink)  
Antiguo 14/09/2005, 06:15
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
JDBC - Sql Serer

Hola buenas tardes !!!

Verán, acabo de hacer una pequeña aplicacion en MySQL usando el mysql-connector.jar y todo me ha ido bien.


Ahora, quiero hacer lo mismo con Sql Server, para ello, me baje el mssqlserver.tar de la página de microsoft. Este fichero tiene una carpeta que es la de lib, en la cual están los siguientes ficheros .jar:

msbase.jar
mssqlserver.jar
msutil.jar


En fin, no soy un experto en java precisamente, asi que haber si me pueden solucionar a la siguiente duda:

Meti el mssqlserver.jar dentro de c:\java\jar\ que es donde tambien tengo metido el Driver de MySQL.

El classpath ahora tiene el siguiente valor:
.;c:\java;c:\java\jar\mysql-connector.jar;c:\java\jar\mssqlserver.jar

En el codigo fuente de mi clase me metido lo siguiente, para probar haber si consigue conectarse:
Código:
import java.util.*;
import java.sql.*;

public class clasePresentacion {
	private static String _cadenaCN;

	private static Connection objCN;
	private ResultSet objRS;
	private Statement objSql;
	
	
	public static void main(String[] args) {
		_cadenaCN = "jdbc:microsoft:sqlserver://cpu144:1433;User=administrador;Password=";	
		try{
			Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
			objCN = DriverManager.getConnection(_cadenaCN);
		}catch(Exception Ex){
			System.out.println(Ex);
		}	
	}
}

Sin embargo me sale la siguiente excepción al llegar al Class.forName... :
Código:
Exception in thread "main" java.lang.NoClassDefFoundError: com/microsoft/jdbc/base/BaseDriver
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at clasePresentacion.main(clasePresentacion.java:15)
Por favor, alguien puede decirme que es lo que hice mal o que me falta por hacer, gracias.
__________________
Charlie.

Última edición por chcma; 14/09/2005 a las 07:00
  #2 (permalink)  
Antiguo 14/09/2005, 13:23
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 10 meses
Puntos: 10
Si el CLASSPATH lo tienes correctamente seteado como tu dices, entonces el driver de MS SQLServer no se llama con la ruta que tu diste, lee la documentacion que debe venir en un txt junto a los archivos del driver que bajaste.

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #3 (permalink)  
Antiguo 15/09/2005, 00:32
 
Fecha de Ingreso: enero-2005
Mensajes: 139
Antigüedad: 19 años, 4 meses
Puntos: 0
Hola,

A mi me gusta el driver JTDS para SQL Server, que me parece un poco más fácil de usar que el otro. Además, promete ser más rápido que el propio controlador de Microsoft.

Saludos.
  #4 (permalink)  
Antiguo 15/09/2005, 01:48
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
One way of connecting to a database is through the JDBC driver manager using the method DriverManager.getConnection. This method uses a string containing a URL. The following is an example of using the JDBC driver manager to connect to Microsoft SQL Server 2000 while passing the user name and password:

Class.forName("com.microsoft.jdbc.sqlserver.SQLSer verDriver");
Connection conn = DriverManager.getConnection
("jdbc:microsoft:sqlserver://server1:1433;User=test;Password=secret");

Esto es lo que me dice la documentacion del driver. Por lo que he puesto en el primer post, creo que el Class.forName esta bien creado. ¿Verdad?
__________________
Charlie.
  #5 (permalink)  
Antiguo 15/09/2005, 11:58
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 10 meses
Puntos: 10
Claro, esta exactamente como lo dice la documentacion. Lo mas probable es que estas poniendo en el CLASSPATH el .jar equivocado.

Ahora bien, si tu aplicacion es web, no sirve el CLASSPATH, en ese caso debes poner el .jar en la carpeta WEB-INF/lib de tu aplicacion.

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #6 (permalink)  
Antiguo 11/11/2009, 12:02
 
Fecha de Ingreso: mayo-2007
Mensajes: 32
Antigüedad: 17 años
Puntos: 0
Respuesta: JDBC - Sql Serer

el driver que baje es sqljdbc.jar y lo copie en

C:\Archivos de programa\Apache Software Foundation\Tomcat 6.0\webapps\clinicweb\WEB-INF\lib

no sabes que mas puedo revisar ?

Gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:00.