作者JohnnyDell (強尼戴爾)
看板java
標題[問題] 關於Java連接Sqlserver
時間Mon Dec 30 11:22:14 2013
好的~ 經過不斷的RD 終於發現問題點
昨天cmd上java -jar可以跑 今天就又不行
終於發現是jre版本的問題.. 經過測試 jre6 x86, jre6 x64都不能
卡在executeQuery 但是將環境變數改為jre7 x64就立馬撈出資料了..
Eclipse一樣將程式庫換成jre7後就立馬撈出資料 切回jre6就再度stuck
話說是jre6跟MSSQL jdbc 4不和嗎?
題外話 我的eclipse的jre7一開始是斷開連結的狀態 要自己新增進去才有 這正常?
jdk1.7加入做為程式庫也一樣可以運作jdbc~
感謝大家~
----
http://paste.ideaslabs.com/show/5zCQ440cuB code paste連結
請問各位大大 新手嘗試透過java去連結MSSQL
版本是 Express, 用jdbc 4.0
但是程式一執行就一直在run 不會停止 也沒有任何錯誤回報
是過把
ResultSet rs = stmt.executeQuery(SQL);
之後拿掉可以跑 沒有出錯 估計是卡在這一行
Google有說是因為連線資源被lock 可是有嘗試開另外個db在連也是一樣
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.194.46
1F:→ PsMonkey:請把 main() throws 的宣告全部拿掉,再試一次 12/30 12:59
2F:→ JohnnyDell:版大~ 試著將throws拿掉但結果還是一樣說~ 12/30 13:08
3F:推 PsMonkey:我只是想確保 exception 都有被 printStackTrace() 12/30 13:36
4F:→ PsMonkey:只能說,光看程式碼應該是無法幫上什麼忙 12/30 13:36
原來如此 多謝版大
5F:→ gmoz:MSSQL會跑DNS嗎? 12/30 15:58
不好意思 請問G大您指的MSSQL會跑DNS的意思是??
經過一整天的 retry & debug 後,現在的情況很詭異
我在Eclipse執行會卡在 ResultSet rs = stmt.executeQuery(SQL);這一行
executeUpdate()也是一樣
可是呢 我將其export成 executable jar 竟然就可以了!!!
但是又只能在cmd以 java -jar test.jar 的方式才可以~
直接點兩下就沒作用 exec jar 不是可以點兩下就run起來了嗎?
揪竟~ 是我的Eclipse有問題還是Windows OS有問題呢..?
※ 編輯: JohnnyDell 來自: 122.116.194.91 (12/30 16:15)
6F:→ gmoz:我沒看清楚 在Query階段就跟DNS問題沒關係了 12/30 16:20
7F:推 dream1124:老實一點手動載入驅動程式試試吧 12/30 19:28
D大 請問手動載入driver是指? 跟Eclipse加入jar檔不同?
S大 有的~ 已有將sqljdbc4.jar加入該專案的參照程式庫
※ 編輯: JohnnyDell 來自: 122.116.194.46 (12/31 09:18)
9F:推 evabioz:有試過DB tool是否可正常連接? 12/31 12:10
E大 請問DB tool就是指J大說的小松鼠之類的?
10F:→ jej:要不要下載小松鼠來連看看.. 不行就是MS要設定 12/31 13:23
J大 剛剛試了 SQuirrel 連線時選擇MSSQL JDBC 4的sqljdbc4.jar
連到jdbc:sqlserver://localhost:49999;databaseName=testdb 是可以連線的
只是看不到每個db的table表 不知道是不是因為我不會用的關係@@
另外就是像是 小松鼠的安裝檔是jar 點兩下可以安裝
但我用eclipse export出來的點兩下就沒有反應..
Google有看到說要在regedit裡面修改
C:\Program Files\Java\jre6\bin\javaw.exe" -jar "%1" %*
加上 -jar(可是原本就有加上了)
弄來弄去目前還是沒有搞定double click可以runnable jar..
※ 編輯: JohnnyDell 來自: 122.116.194.91 (12/31 14:41)
※ 編輯: JohnnyDell 來自: 122.116.194.91 (12/31 15:13)
11F:→ sing10407:double click 可以run 應該要.exe檔? 01/01 01:08
12F:→ jej:yes 就是SQuirrel 他是用java寫成的 db client 01/02 17:37
13F:→ jej:如果連java寫的db client都不行.. 程式要可以的可能性就低了.. 01/02 17:39
14F:→ jej:檢查看看SQL Server哪邊權限設定沒有設定OK ~ 01/02 17:41
15F:推 Jichang:jre6 2x 版的有問題 換前面一點的版本就可以了 01/02 19:47