Question:
虚拟机下用直接用jdbc连接测试不成功。(WHY????)
宿主机下JDBC连接虚拟机测试可以通过
注:宿主机与虚拟机IP都可以互相ping通。防火墙已关闭,1433端口以打开。telnet ip 1433 已通过
环境
本机系统:win8
虚拟机:vritualbox (win7)
网络连接方式:Host-Only (估计跟网络连接方式关系不太大)
宿主机IP:192.168.56.1
虚拟机IP:192.168.56.10
在虚拟机下安装了SQLServer2008,使用工具能正常登录,并附件数据库
使用JDBC连接测试:
注:
1、在虚拟机下测试不成功。
2、在虚拟机下测试外网SQL数据库成功
3、在宿主机下测试链接虚拟机SQL数据库成功
public static void main(String[] args) {
String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=DB_Name";
//String url = "jdbc:sqlserver://192.168.56.10:1433;DatabaseName=DB_Name";
String userid = "sa";
String passwd = "sa";
try {
Class.forName(driver);
} catch (Exception e) {
System.out.println("无法载入" + driver + "驱动程序!");
e.printStackTrace();
}
try {
System.out.println("sss");
Connection con = DriverManager.getConnection(url, userid, passwd); //在虚拟机下测试,走到这就不再继续
System.err.println("连上了么");
if (!con.isClosed())
System.out.println("成功连接数据库!");
con.close();
} catch (SQLException SQLe) {
System.out.println("无法连接数据库!");
}
}
我需要在虚拟机下部署项目,数据库为SQLServer,现在测试不成功,导致我的项目无法启动。
求大牛指点,为什么在虚拟机下JDBC测试不成功呢~~
------解决方案--------------------
估计还是驱动的问题 当然JAVA我不懂。一般来说这样的情况 更新成最新的驱动有可能会解决问题
------解决方案--------------------
错误信息都没有/