2015-07-03 221 views
0

我想連接到我的MSsql 2012數據庫,但我不斷收到以下錯誤。我試圖找過在互聯網上的教程和不停的問,但無法獲得任何答案,直到如今...Java:無法連接到數據庫

Microsoft Windows [Version 6.1.7601] 
Copyright (c) 2009 Microsoft Corporation. All rights reserved. 

C:\Users\bosti>cd c:\cazare-full\cazare 

c:\cazare-full\cazare>ant deploy 
Buildfile: c:\cazare-full\cazare\build.xml 

undeploy.tomcat: 

delete.files: 

drop.old.tables: 

BUILD FAILED 
c:\cazare-full\cazare\build.xml:46: com.jnetdirect.jsql.u: Failed Logon:com.jnet 
direct.jsql.u: Invalid port number:/ url:jdbc:JSQLConnect://sqlserver://127.0.0.1:1433;instanceName=MSSQLSERVER; 
    at com.jnetdirect.jsql.JSQLDriver.connect(Unknown Source) 
    at org.apache.tools.ant.taskdefs.JDBCTask.getConnection(JDBCTask.java:370) 
    at org.apache.tools.ant.taskdefs.SQLExec.getConnection(SQLExec.java:942) 

    at org.apache.tools.ant.taskdefs.SQLExec.execute(SQLExec.java:614) 
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
    at org.apache.tools.ant.Task.perform(Task.java:348) 
    at org.apache.tools.ant.Target.execute(Target.java:390) 
    at org.apache.tools.ant.Target.performTasks(Target.java:411) 
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) 
    at org.apache.tools.ant.Project.executeTarget(Project.java:1368) 
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 
    at org.apache.tools.ant.Project.executeTargets(Project.java:1251) 
    at org.apache.tools.ant.Main.runBuild(Main.java:809) 
    at org.apache.tools.ant.Main.startAnt(Main.java:217) 
    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) 
    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109) 

Total time: 0 seconds 

c:\cazare-full\cazare> 
+0

有沒有其他stacktrace看?你有更多的描述發生了什麼?如果沒有,那麼我建議你至少使用'try-catch'段並在'catch'中使用'e.printStackTrace()'來查看異常的更多細節。根據當前的信息,您的環境中可能會出現許多問題。 –

+0

你會向我們展示jdbc代碼嗎?首先要考慮的是你的驅動程序有錯誤的端口設置。 –

+1

你能檢查你嘗試連接的端口號嗎?另外,您是否可以確保db實際上正在偵聽端口1433.之後,檢查db服務器是否已啓動 – Andrei

回答

3

連接的URL有一種特殊形式,它是這樣的:

jdbc:JSQLConnect://serverName:port/property=value[/property=value] 

但你使用這個:

url:jdbc:JSQLConnect://sqlserver://127.0.0.1:1433;instanceName=MSSQLSERVER; 

你可以按照this link瞭解更多的細節;它的肉在下面。

連接URL的一般形式是

JDBC:JSQLConnect://服務器:端口/屬性=值[/屬性=值]

其中: -

  • JSQLConnect(必需)被稱爲子協議並且是常量。
  • serverName(必需)是要連接的服務器的地址。可能是DNS或IP地址。也許locallost或127.0.0.1爲 本地機器。
  • 端口(可選)是要在serverName上連接的端口。默認值爲1433.如果您使用的是默認值,則不需要在URL中指定端口(或其位於':'之前) 。
  • 屬性(可選)是一個或多個選項連接屬性。有關詳細信息,請參閱以下連接屬性部分。可以指定列表中的任何 屬性。屬性可以用'/'或'&'分隔 。