作者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