连接服务器端SQL数据库时获取ClassNotFoundException [英] Getting ClassNotFoundException while connecting with server side SQL database

查看:101
本文介绍了连接服务器端SQL数据库时获取ClassNotFoundException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

从本地计算机连接位于服务器计算机的SQL Server数据库时,我收到ClassNotFoundException。我编写了以下代码来连接java中的SQL服务器: -

While connecting with SQL server database which is located at server computer from local computer, I am getting ClassNotFoundException. I wrote following code to connect with SQL server in java:-

import java.sql.*;

public class ConnectDatabase {

Connection dbConnection = null;

String dbName = "Radiocity_Central";
String serverip="192.168.69.189";
String serverport="1433";
String url = "jdbc:sqlserver://192.168.69.189:1433;instance=MSRS11.MSSQLSERVER;Da tabaseName=Radiocity_Central;integratedSecurity=tr ue";
String userName = "sa"; 
String password = "airwaves";
final String driverName = "com.microsoft.sqlserver.jdbc.Radiocity_Centra l";
Statement statement = null;
ResultSet rs = null;
int updateQuery = 0;

public Connection getConnection() {

System.out.println(url);
try{
Class.forName(driverName).newInstance();

dbConnection = DriverManager.getConnection(url,userName,password) ;
System.out.println(DriverManager.getDrivers());

statement = dbConnection.createStatement();

/*String QueryString = "select Id from openview.dbo.OV_MS_Message where OriginalServiceId like '{FaultDn[1]}'";

updateQuery = statement.executeUpdate(QueryString);

if(updateQuery!=0){
System.out.println("success" + updateQuery);
}*/
statement.close();
dbConnection.close();
}
catch (ClassNotFoundException cnfe){
cnfe.printStackTrace();
}
catch (Exception e){
e.printStackTrace();
}
return dbConnection;

}

public static void main(String[] args) {

ConnectDatabase cDB = new ConnectDatabase();
cDB.getConnection();

}

}



我得到的运行时异常如下: -


The runtime exception which I am getting is given below:-

jdbc:sqlserver://192.168.69.189:1433;instance=MSRS11.MSSQLSERVER;Da tabaseName=Ra
diocity_Central;integratedSecurity=true
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.Radiocity_Central

at java.net.URLClassLoader$1.run(URLClassLoader.java: 200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.j ava:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:3 06)
at sun.misc.Launcher$AppClassLoader.loadClass(Launche r.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:2 51)
at java.lang.ClassLoader.loadClassInternal(ClassLoade r.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at ConnectDatabase.getConnection(ConnectDatabase.java :22)
at ConnectDatabase.main(ConnectDatabase.java:52)





请帮我解决这个问题。



Please help me to solve this problem.

推荐答案

1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.j ava: 188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:3 06)
at sun.misc.Launcher
1.run(URLClassLoader.java: 200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.j ava:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:3 06) at sun.misc.Launcher


AppClassLoader.loadClass(Launche r。 java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:2 51)
at java.lang.ClassLoader.loadClassInternal(ClassLoade r.java:319)
at java .lang.Class.forName0(本机方法)
at java.lang.Class.forName(Class.java:169)
at ConnectDatabase.getConnection(ConnectDatabase.java:22)
at ConnectDatabase .main(ConnectDatabase.java:52)
AppClassLoader.loadClass(Launche r.java:276) at java.lang.ClassLoader.loadClass(ClassLoader.java:2 51) at java.lang.ClassLoader.loadClassInternal(ClassLoade r.java:319) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at ConnectDatabase.getConnection(ConnectDatabase.java :22) at ConnectDatabase.main(ConnectDatabase.java:52)





请帮我解决这个问题。



Please help me to solve this problem.


摆脱界限

Get rid of the line
Class.forName(driverName).newInstance();



它只会抛出异常。



希望这有帮助,

Fredrik


It does nothing but throw that exception.

Hope this helps,
Fredrik


这篇关于连接服务器端SQL数据库时获取ClassNotFoundException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆