sqljdbc4 microsoft for example conexion java jdbc sql-server-2012-express mssql-jdbc

for - Classpath establecido, pero: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver



sql server 2018 jdbc driver (6)

De acuerdo, estoy confundido. Mi SQL Server JAR está aquí:

Volume in drive C has no label. Volume Serial Number is 8008-2D93 Directory of c:/temp 03/07/2014 09:38 AM <DIR> . 03/07/2014 09:38 AM <DIR> .. 03/05/2014 10:34 PM 222,417 output.exd 02/17/2012 02:45 PM 563,117 sqljdbc.jar 02/17/2012 02:45 PM 584,207 sqljdbc4.jar 3 File(s) 1,369,741 bytes 2 Dir(s) 21,865,553,920 bytes free

Mi Classpath está configurado:

C:/WINDOWS/system32>echo %CLASSPATH% .;C:/Program Files (x86)/Java/jre7/lib/ext/QTJava.zip;c:/temp/sqljdbc4.jar

Es un controlador JDBC 4.0, así que no debería necesitar hacer esto, pero intenté establecer el nombre de la clase.

Properties connectionProps = new Properties(); connectionProps.put("user", this.jdbcUser); connectionProps.put("password", this.jdbcPass); Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); conn = DriverManager.getConnection(this.jdbcUrl, connectionProps);

Todavía ejecuto mi programa y recibo el error:

java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver C:/WINDOWS/system32>java -jar "C:/Users/MYUSER/Documents/NetBeansProjects/myappSource/dist/myappSource.jar" -u MYUSER -p MYPASS -j "jdbc:sqlserver://127.0.0.1//msqlserver:1433;database=MYDB" Mar 07, 2014 9:49:54 AM filters.myapp.dao.db.DbSwitcher getDatabaseForUrl SEVERE: jdbc:sqlserver://127.0.0.1//msqlserver:1433;database=MYDB Mar 07, 2014 9:49:54 AM filters.myapp.dao.db.Database connect SEVERE: null java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver at java.net.URLClassLoader$1.run(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.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at filters.myapp.dao.db.Database.connect(Database.java:217) at filters.myapp.dao.db.Database.<init>(Database.java:38) at filters.myapp.dao.db.MssqlDb.<init>(MssqlDb.java:15) at filters.myapp.dao.db.DbSwitcher.getDatabaseForUrl(DbSwitcher.java:14) at filters.myapp.UserInterface.cli(UserInterface.java:76) at filters.myapp.UserInterface.<init>(UserInterface.java:34) at filters.myapp.UserInterface.main(UserInterface.java:46)

En caso de que importe, estoy ejecutando Windows 8.1. He intentado con el símbolo del sistema tanto como administrador como no.

Información de Java:

C:/WINDOWS/system32>java -version java version "1.7.0_51" Java(TM) SE Runtime Environment (build 1.7.0_51-b13) Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

¿Algunas ideas?

SQL Server es SQL Server Express 2012.


Si pasa -jar a java.exe, entonces el classpath se toma del manifiesto del archivo Jar especificado; todas las configuraciones externas de la ruta de clases (por ejemplo,% CLASSPATH%) se ignoran.

Haga uno de:

  1. Use java -cp ... / myapp.jar MainClassName

  2. Coloque sqljdbc.jar en el campo Class-Path en el manifiesto de myapp.jar.

  3. Descubra y cargue sqljdbc.jar programmatically.


Abra un nuevo símbolo del sistema y pruebe con los pasos que se muestran a continuación, no es bueno trabajar dentro de C: / WINDOWS / system32

El problema dice que sqljdbc4.jar no está configurado correctamente en el classpath.

C:/Test set classpath=%classpath%;.;c:/temp/sqljdbc4.jar java -jar "C:/Users/MYUSER/Documents/NetBeansProjects/myappSource/dist/myappSource.jar" -u MYUSER -p MYPASS -j "jdbc:sqlserver://127.0.0.1//msqlserver:1433;database=MYDB"


Recibí este error después de actualizar mi Eclipse STS, resultó que mi servidor olvidó toda su información de configuración durante la actualización. Tuve que configurar el classpath del servidor y las variables de entorno todo de nuevo y eso solucionó el problema.


establecer la ruta de clase para sqljdbc4.jar

CLASSPATH= D:/sqljdbc_4.0.2206.100_enu/sqljdbc_4.0/enu/sqljdbc4.jar;

si eres usuario de eclipse, elimina el archivo .jar innecesario sqljdbc


copie sqljdbc4.jar en WebContent -> WEB_INF -> carpeta lib. Esto resolvió mi problema.


Si programa la aplicación ZK, coloque sqljdbc4.jar en la carpeta WebContent -> WEB_INF -> lib.

Referencia: comentario de Anand.