stakowerflol
stakowerflol

Reputation: 1079

Connect java to SQL server with jdbc dirver

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

Answers (2)

SeverityOne
SeverityOne

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

Centos
Centos

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

Related Questions