使用spring框架连接到mssql服务器
Posted
技术标签:
【中文标题】使用spring框架连接到mssql服务器【英文标题】:Connection to mssql server using spring framework 【发布时间】: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)
【参考方案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以上是关于使用spring框架连接到mssql服务器的主要内容,如果未能解决你的问题,请参考以下文章
远程连接到 MSSQL,使用 Windows 身份验证,JAVA
msSQL jdbc .. 我连接到服务器但如何连接到使用特定的 databaseName
python ubuntu使用pyodbc连接到mssql服务器
使用 Azure Active Directory 连接到 MSSQL 服务器的 JDBC
如果我们保持空闲一段时间,则在连接到 Azure MSSQL DB 时,Spring Boot 应用程序中的数据库连接将关闭