您好,欢迎访问一九零五行业门户网

【sqlserver2005】 'hibernate.dialect' must be

今天把项目拿到办公室来做,先装好了sqlserver 2005,密码和自己电脑上sqlserver的密码也一样,再把数据库附加进来 , 然后把项目导入到myeclipse 中。 从一个工作环境迁移到另一个工作环境,就这样每一步都很顺利,可是当程序开始运行时,却总是报这样一个
今天把项目拿到办公室来做,先装好了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的配置情况:
检查sql server的端口是否打开。默认的sql server端口是1433。在windows命令行里面输入netstat -a -n,查看1433端口是不是打开了。如果没有打开,往下配置。重启服务器,看看程序能否成功连接数据库。如果还不能连接数据库,看看数据库是不是开启了sql server身份验证登陆。测试方法就是你用sql server用户名和密码登陆你的sql server management工具。如果成功连接证明已经开启,如果不能连接登陆,则用windows身份验证进入management工具,然后右键你的服务器——属性——安全性——选择“sql server 和 windows 身份验证模式”,登陆审核选择“仅限成功的登陆”。如果没有登录名,新建一个。右键要使用的登录名——属性——用户映射——勾选要使用的数据库——确定。右键要使用的数据库——属性——权限,这里会看见我们刚刚编辑的用户,配置该用户的权限,一般使用的有“连接”“插入”“选择”“删除”“执行”“更改”“创建表”等,根据需要修改。重新连接数据库,用sql server身份验证登陆,这时候应该没有问题了。
ps:都是这个错误信息的误导,其实可能也是我们中国人跟外国人的语言表达方式的区别,他们把条件限制放在了后面,而我们习惯于关注一句话前半部分,
尤其是还给hibernate.dialect加了个引号,注意力都转移到dialect上面去了。
其它类似信息

推荐信息