# MSSQL-Server connection aufbau sehr langsam



## eddy (11. Sep 2009)

Hallo javafreunde,

wie der Titel schon sagt versuche ich mich auf verschiedene Datenbanken von Microsoft zu connecten.

Das soll auch nicht das Problem sein, bei mir dauert der Aufbau der Verbindung über JDBC einfach mal extrem lange, liegt oft bei min. 3sec bis 10sec !

Vielleicht seht ihr ja einen groben Schnitzer der alles erklärt!

Hier mal mein Code

```
public class Connect {

		
	public Connection DbConnect() {
		Connection conn = null;
		String dbs = "database";

		String host 	= Config.getString(dbs+".host");
	    String port 	= Config.getString(dbs+".port");
	    String dbname 	= Config.getString(dbs+".name");
	    String user		= Config.getString(dbs+".user");
	    String pw 		= Config.getString(dbs+".pw");
		
		if(Config.getString(dbs+".type").equals("mssql2000")){
			
			final String url = "jdbc:microsoft:sqlserver://";
			final String connectionUrl = url+host+":"+port+";databaseName="+dbname+";selectMethod=cursor;";
			try{
	               Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 
	               System.out.println("   - Driver Successful (mssql2000)");
	               conn = java.sql.DriverManager.getConnection(connectionUrl,user,pw);
	               if(conn!=null) System.out.println("    - Connection Successful!");
	          }catch(Exception e){
	               e.printStackTrace();
	               System.out.println("    - Error Trace in getConnection() : " + e.getMessage());
	         }
			
			
		}else if(Config.getString(dbs+".type").equals("mssql2005")){
			
			final String url = "jdbc:sqlserver://";
			final String connectionUrl = url+host+":"+port+";databaseName="+dbname+";selectMethod=cursor;";
			try{
	               Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
	               System.out.println("   - Driver Successful (mssql2005)");
	        }catch(Exception e){
	               System.out.println("   - Treiber laden fehlgeschlagen (mssql2005) getConnection() : " + e.getMessage());
	               e.printStackTrace();
	        }
	         
	        try {
	        	conn = java.sql.DriverManager.getConnection(connectionUrl,user,pw);
	        	if(conn!=null) System.out.println("    - Connection Successful!");
	        } catch (SQLException e) {
	        	System.out.println("   - Connect fehlgeschlagen (mssql2005) getConnection() : " + e.getMessage());
            	e.printStackTrace();
			}
		}else{
			System.out.println("\n\n" +
								"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +
								"!!! Keine der verfügbaren Datenbanken gewählt !!!" +
								"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
		}
		return conn;
	}	
}
```

Danke euch schon mal für die Hilfe :rtfm::toll:


----------



## maki (11. Sep 2009)

Halte jTDS immer noch für den besten Treiber für den MS-SQL Server, ja, sogar besser als die JDBC Treiber von M$ selbst


----------



## eddy (11. Sep 2009)

Mmh, danke für die schnelle Antwort, würde ich eventuell auch nehmen, doch leider vom Kunden aus nicht zulässig...;(


----------

