【问题标题】:Connection to mssql server using spring framework使用spring框架连接到mssql服务器
【发布时间】:2015-11-02 14:29:15
【问题描述】:

我现在正在学习spring。我想将我的 webapp 连接到 ms sql 2008 R2 服务器。但我这样做有很多错误。 我的 bean 文件看起来像这样,

<bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
        <property name="url"
            value="jdbc:sqlserver://Mrunal-PC\\MSSQLSERVER1;DataBaseName=Test;" />
        <property name="username" value="sa" />
        <property name="password" value="abc123" />
    </bean>

我得到以下异常。

Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal/unsupported escape sequence near index 1
\mssqlserver1
 ^
    at java.util.regex.Pattern.error(Unknown Source)
    at java.util.regex.Pattern.escape(Unknown Source)
    at java.util.regex.Pattern.atom(Unknown Source)
    at java.util.regex.Pattern.sequence(Unknown Source)
    at java.util.regex.Pattern.expr(Unknown Source)
    at java.util.regex.Pattern.compile(Unknown Source)
    at java.util.regex.Pattern.<init>(Unknown Source)
    at java.util.regex.Pattern.compile(Unknown Source)
    at java.lang.String.replaceAll(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.getInstancePort(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:153)
    at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:144)
    at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:155)
    at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:120)
    at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111)
    at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:630)
    at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:909)
    at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:970)
    at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:980)
    at com.tutorialspoint.StudentJDBCTemplate.create(StudentJDBCTemplate.java:19)
    at com.tutorialspoint.MainApp.main(MainApp.java:18)

erliear 我试图使用窗口身份验证进行连接,但即使在那个时候它也给了我超时错误。我在这里真的很新,所以我找不到任何错误。谁能帮帮我?

【问题讨论】:

  • 改用\\\\
  • 谢谢。我马上试试。
  • 如果我使用 \\\ 那么它会给我以下错误。
  • 线程“主”org.springframework.jdbc.CannotGetJdbcConnectionException 中的异常:无法获取 JDBC 连接;嵌套异常是 com.microsoft.sqlserver.jdbc.SQLServerException:与命名实例的连接失败。错误:java.net.SocketTimeoutException:接收超时。在 org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80)

标签: sql-server spring jdbc


【解决方案1】:

试试jdbc:sqlserver://localhost;DataBaseName=Test。 在MSDN查看更多关于正确jdbc url的信息

【讨论】:

  • 现在它给主机的 TCP/IP 连接失败。 java.net.ConnectException:连接被拒绝:连接
  • 您的服务器是否在默认端口上运行?它是否在您运行 Spring 应用程序的同一台机器上运行?
  • 它在同一台机器上运行。我在 sql 配置管理器中启用了 tcp 连接,并在 ip 部分中将端口称为 1433。它仍然无法正常工作
  • 我尝试使用 eclips ide 连接到我的数据库,但它无法正常工作。连接 url 是 jdbc:sqlserver://localhost:1433;databaseName=Test
猜你喜欢
  • 1970-01-01
  • 2021-09-24
  • 2012-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-29
  • 1970-01-01
相关资源
最近更新 更多