2017-03-03 59 views
2

我使用JDBC連接的URL SQLSERVER例如

> org.apache.commons.dbcp2.BasicDataSource 

`com.microsoft.sqlserver.jdbc.SQLServerDriver` 

4版本嘗試連接到一個2014的SqlServer。 我試圖連接到在該服務器上運行的特定實例。 我找不出適合此連接的正確網址。

這是我在spring.xml配置:

​​

我得到一個SQLException:

org.springframework.jdbc.CannotGetJdbcConnectionException: 
Could not get JDBC Connection; nested exception is java.sql.SQLException: 
Cannot create PoolableConnectionFactory 
(Fehler beim Herstellen der TCP/IP-Verbindung mit dem Host 'hostname', Port portnumber. Fehler: 'Connection refused: connect. 
Überprüfen Sie die Verbindungseigenschaften. 
Stellen Sie sicher, dass eine SQL Server-Instanz auf dem Host ausgeführt wird und am Port TCP/IP-Verbindungen akzeptiert. 
Vergewissern Sie sich, dass am Port keine TCP-Verbindungen durch eine Firewall blockiert werden.'.) 

任何線索了嗎?

感謝。

+0

那麼,您使用的是命名實例,對不對? – Alfabravo

+0

嗨Alfabravo,沒錯。 – jcb

回答

0

我有很多嘗試和錯誤。發現該端口號未被接受。最後我得到這個配置相當不錯的工作:

<context:component-scan base-package="com.securess.jdbc.jdbcsample"></context:component-scan> 
    <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource"> 
      <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/> 
      <property name="url" value="jdbc:sqlserver://myhost;instanceName=myinstance;databaseName=mydb"/> 
     <property name="username" value="sa"/> 
      <property name="password" value="mypwd"/>   
      <property name="initialSize" value="1"/> 
      <property name="maxTotal" value="5"/> 
    </bean> 
0

如果在字符串中使用Backslah,則必須將其轉義。

而且你必須提供一些驗證信息。從Klick me例如:

String dbURL = "jdbc:sqlserver://localhost\\sqlexpress;user=sa;password=secret"; 
Connection conn = DriverManager.getConnection(dbURL); 
+0

Hello Pastafari, 我在spring.xml中提供了登錄憑證。我也測試了掩蔽反斜槓。同樣的錯誤。任何其他想法? – jcb

+0

你試過雙反斜槓嗎? – Pastafari

+0

嗨,是的,我也試過這個。 我在我的問題中提供了有關我的spring.xml的詳細信息。 – jcb

0

其接觸不良或用戶名或密碼或驅動程序的URL,檢查連接在其他方式確定。