Retroceder   Foros del Web > Programación para sitios web > Java y JSP

Respuesta
 
Herramientas Desplegado
Antiguo 14-sep-2005, 06:15   #1 (permalink)
chcma está en el buen camino
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 1.858
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-sep-2005 a las 07:00.
chcma está desconectado   Responder Citando
Antiguo 14-sep-2005, 13:23   #2 (permalink)
goncafa ha deshabilitado el karma
 
Avatar de goncafa
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.135
Enviar un mensaje por MSN a goncafa
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
goncafa está desconectado   Responder Citando
Antiguo 15-sep-2005, 00:32   #3 (permalink)
WebStorm está en el buen camino
 
Fecha de Ingreso: enero-2005
Mensajes: 139
Enviar un mensaje por MSN a WebStorm
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.
WebStorm está desconectado   Responder Citando
Antiguo 15-sep-2005, 01:48   #4 (permalink)
chcma está en el buen camino
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 1.858
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.
chcma está desconectado   Responder Citando
Antiguo 15-sep-2005, 11:58   #5 (permalink)
goncafa ha deshabilitado el karma
 
Avatar de goncafa
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.135
Enviar un mensaje por MSN a goncafa
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
goncafa está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Desactivado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 02:25.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93