Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 测试SQL Server连接_Java_Sql Server - Fatal编程技术网

Java 测试SQL Server连接

Java 测试SQL Server连接,java,sql-server,Java,Sql Server,我正在使用Netbeans(我的库中有jar文件)连接到SQL Server,不知道为什么什么都没有发生。我可以在我的屏幕上看到以下消息打印加载位于xx.xx.x.xxx的SQL Server驱动程序,之后不会发生任何事情: 我还试图测试连接是否为空,但出于某种原因,System.out.println(“连接成功!”)没有打印任何内容,因此我怀疑它没有连接。有人能看看这里发生了什么吗: 我的代码在这里: try { String QueryStr

我正在使用Netbeans(我的库中有jar文件)连接到SQL Server,不知道为什么什么都没有发生。我可以在我的屏幕上看到以下消息打印
加载位于xx.xx.x.xxx的SQL Server驱动程序
,之后不会发生任何事情:

我还试图测试连接是否为空,但出于某种原因,
System.out.println(“连接成功!”)没有打印任何内容,因此我怀疑它没有连接。有人能看看这里发生了什么吗:

我的代码在这里:

        try {
                String QueryStringGlobalAlertLogs = "";

                 try{

                      System.out.println("Loading the Driver for SQL Server at xx.xx.x.xxx");    
                      Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
                     }
                catch(java.lang.ClassNotFoundException e){
                return 0;   
                     }

                connRemoteforGlobal = java.sql.DriverManager.getConnection("jdbc:sqlserver://xx.xx.x.xxx;database‌​Name=Alerts",RemoteSQLServerUser,RemoteSQLServerPass);


                if(connRemoteforGlobal != null)
                {
                   System.out.println("Connection Successful !");
                 }



                 QueryStringGlobalAlertLogs =  // My INSERT Query here
            }// End of first try
     catch(SQLException ex2){

            ex2.printStackTrace();
           System.out.println("Error Trace in Connection : " + ex2.getMessage());
                            } 

您必须同时捕获
Class.forName
getConnection
。 试试这个:

    try{
       Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
DriverManager.getConnection("jdbc:sqlserver://xx.xx.x.xxx;database‌Name=Alerts",RemoteSQLServerUser,RemoteSQLServerPass);
    }catch(SQLException e1){
       // handle error
    }catch(ClassNotFoundException e2){
       // handle error
    }

catch(){return 0}
?也许你实际上应该做一些有异常的事情,而不是试图让这段代码像VB的“下一次错误恢复时的
。那么你会推荐什么呢?当我写false时,它抛出错误。你认为这可能是问题所在吗?至少试试
System.out.println(e.getMessage())
获取调试消息,而不是忽略异常。@JoachimIsaksson尝试了
System.out.println(e.getMessage())
e.printStackTrace()但没有变化。我做了,但仍然不知道为什么它没有前进。我故意注释掉了
Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”)并在堆栈跟踪中得到错误消息“找不到合适的驱动程序”,因此控件肯定会在那里运行,但仍然无法理解为什么它不能向前移动。有没有其他方法来测试出了什么问题?我的连接字符串看起来好吗:
jdbc:sqlserver://xx.xx.x.xxx;数据库‌​名称=警报”,RemoteSQLServerUser,RemoteSQLServerPass