Reputation: 1079
I have read another topics connected to it and didn't find the solution,
String jdbcUrl = "jdbc:sqlserver://;server_name=MYSERVERNAME,instancename=MAINSTANCENAME:1211;databaseName=MYDATABASENAME;user=MYUSER;password=MYPASSWORD";
Connection conn = DriverManager.getConnection(jdbcUrl);
System.out.println("successfull");
the result is and error: Exception in thread "main" java.sql.SQLException: No suitable driver found for jdbc:sqlserver://;...
in pom thera are dependencies:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc -->
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>7.1.1.jre10-preview</version>
<scope>test</scope>
</dependency>
</dependencies>
Upvotes: 0
Views: 91
Reputation: 2721
From this:
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>7.1.1.jre10-preview</version>
<scope>test</scope>
</dependency>
remove this line:
<scope>test</scope>
It makes the JDBC driver only available during unit tests.
Upvotes: 2
Reputation: 260
Create datasource bean:
@Bean(name = "dataSource")
public DataSource dataSource() throws SQLException {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
dataSource.setUrl("jdbc:sqlserver://MYSERVERNAME;databaseName=MYDATABASENAME");
dataSource.setUsername("MYUSER");
dataSource.setPassword("MYPASSWORD");
return dataSource;
}
And use it:
DataSource ds = (DataSource)ApplicationContextProvider.getApplicationContext().getBean("dataSource");
Connection c = ds.getConnection();
Upvotes: 1