'hibernate.dialect' must be set when no Connection avalable_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2761 | 回复: 0   主题: 'hibernate.dialect' must be set when no Connection avalable        下一篇 
wzj
注册用户
等级:新兵
经验:67
发帖:64
精华:0
注册:2011-11-15
状态:离线
发送短消息息给wzj 加好友    发送短消息息给wzj 发消息
发表于: IP:您无权察看 2014-10-15 17:39:07 | [全部帖] [楼主帖] 楼主

博客专家福利    
专访徐宜生:坚决不做代码搬运工     
话题讨论&征文--谈论大数据时我们在谈什么     
微信开发者大会深圳站即将开幕

'hibernate.dialect' must be set when no Connection avalable


分类: 异常收集

 2013-10-10 19:46


1223人阅读
评论(0)

hibernate.dialect
sql server 2005
hibernate
no Connection avalab


今天把项目拿到办公室来做,先装好了sqlServer 2005,密码和自己电脑上sqlserver的密码也一样,再把数据库附加进来 ,  然后把项目导入到MyEclipse 中。

从一个工作环境迁移到另一个工作环境,就这样每一步都很顺利,可是当程序开始运行时,却总是报这样一个错误'hibernate.dialect' must be set when no Connection avalable 

网上也有不少人遇到这种问题,看上去好像是跟Hibernate的方言有关。所以就一直也把焦点放在方言上去寻找解决方案。可是不管怎样都还是报同一个错误。

如果再仔细琢磨一下这句话

'hibernate.dialect' must be set when no Connection avalable


当连接不可用时

,必须要设置Hibernate方言


发现问题了!并不是方言的问题,而是数据库连接的问题。

既然知道是数据库连接的问题就放心多了,至少不是代码引起的错误了,,,

今天把项目拿到办公室来做,先装好了sqlServer 2005,密码和自己电脑上sqlserver的密码也一样,再把数据库附加进来 ,  然后把项目导入到MyEclipse 中。

从一个工作环境迁移到另一个工作环境,就这样每一步都很顺利,可是当程序开始运行时,却总是报这样一个错误'hibernate.dialect' must be set when no Connection avalable 

网上也有不少人遇到这种问题,看上去好像是跟Hibernate的方言有关。所以就一直也把焦点放在方言上去寻找解决方案。可是不管怎样都还是报同一个错误。

如果再仔细琢磨一下这句话

'hibernate.dialect' must be set when no Connection avalable


当连接不可用时

,必须要设置Hibernate方言

发现问题了!并不是方言的问题,而是数据库连接的问题。

既然知道是数据库连接的问题就放心多了,至少不是代码引起的错误了,,,

在程序中使用Hibernate连接SQL Server 2005,有时候会出现连接不上的情况。这时候请检查一下SQL Server的配置情况:

  1. 检查SQL Server的端口是否打开。默认的SQL Server端口是1433。在Windows命令行里面输入netstat -a -n,查看1433端口是不是打开了。如果没有打开,往下配置。
  2. 打 开SQL Server Configuration Manager。进入SQL Server 2005 Network Configuration——Protocol for SQLEXPRESS,双击TCP/IP, 把改为Enable改为Yes,然后切换到IP Address的那个标签页,把IPAll的TCP Port改为1433。
  3. 重启服务器,看看程序能否成功连接数据库。
  4. 如 果还不能连接数据库,看看数据库是不是开启了SQL Server身份验证登陆。测试方法就是你用SQL Server用户名和密码登陆你的SQL Server Management工具。如果成功连接证明已经开启,如果不能连接登陆,则用Windows身份验证进入Management工具,然后右键你的服务器 ——属性——安全性——选择“SQL Server 和 Windows 身份验证模式”,登陆审核选择“仅限成功的登陆”。
  5. 如 果没有登录名,新建一个。右键要使用的登录名——属性——用户映射——勾选要使用的数据库——确定。右键要使用的数据库——属性——权限,这里会看见我们 刚刚编辑的用户,配置该用户的权限,一般使用的有“连接”“插入”“选择”“删除”“执行”“更改”“创建表”等,根据需要修改。重新连接数据库,用 SQL Server身份验证登陆,这时候应该没有问题了。 

ps:都是这个错误信息的误导,其实可能也是我们中国人跟外国人的语言表达方式的区别,他们把条件限制放在了后面,而我们习惯于关注一句话前半部分,

尤其是还给Hibernate.dialect加了个引号,注意力都转移到dialect上面去了。

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论