2006-10-13
终于搞定了Rails和Oracle的连接
前些日子在家里用mysql连接rails,没出过什么问题。但是在公司试验的时候,问题来了:如何用rails连接oracle阿。rails对于mysql有着天生的支持,但是对于其他数据库似乎就不是那么友好了。
下载了驱动,按照安装说明进行了安装,似乎一切ok.信心满满的试验能否连接上,用ruby script/generate scaffold XXX XXX命令试验了一下,结果:“ORA-12514: TNS:監聽器無法解析連線描述區指定的 SERVICE_NAME”这样的异常出现了,google了一下,好像是database.yml中数据库配置不对。按照相关说明将host项改为<host>:<port>/sid后,再次运行scaffold,又出错了,这次是“ORA-06401: NETCMN: 驅動程式的指定無效”!
ft哦,这样可怎么办,在网上查,也没有太好的答案,有个家伙居然说按照oracle中tnsnames.ora的写法写就行了……
方法看起来都试完了,最后一次,试试按照sid_<host>的写法来配置host项,居然成功了,成功连接的界面显得那么亲切,嘿嘿。
最后将成功连接的yml配置写出来:
development:
adapter: oci
host: sid_host
username: <username>
password: <password>
这里只是开发数据库的配置,其他两个类似就可以了。还有,database项在oci连接中是不需要的,所以就不用了。
下载了驱动,按照安装说明进行了安装,似乎一切ok.信心满满的试验能否连接上,用ruby script/generate scaffold XXX XXX命令试验了一下,结果:“ORA-12514: TNS:監聽器無法解析連線描述區指定的 SERVICE_NAME”这样的异常出现了,google了一下,好像是database.yml中数据库配置不对。按照相关说明将host项改为<host>:<port>/sid后,再次运行scaffold,又出错了,这次是“ORA-06401: NETCMN: 驅動程式的指定無效”!
ft哦,这样可怎么办,在网上查,也没有太好的答案,有个家伙居然说按照oracle中tnsnames.ora的写法写就行了……
方法看起来都试完了,最后一次,试试按照sid_<host>的写法来配置host项,居然成功了,成功连接的界面显得那么亲切,嘿嘿。
最后将成功连接的yml配置写出来:
development:
adapter: oci
host: sid_host
username: <username>
password: <password>
这里只是开发数据库的配置,其他两个类似就可以了。还有,database项在oci连接中是不需要的,所以就不用了。
评论
together
2006-11-04
oracle没有database之说,只有schema,默认就是当前用户的schema。所以这样配置是可以的。
robbin
2006-10-13
跑rails那台机器是需要按照Oracle客户端的,然后配置好连接数据库服务器的tnsname,database.yml里面填写这个tnsname就可以了。
另外还要注意,跑rails那台机器要配置好NLS_LANG,否则中文会乱码
另外还要注意,跑rails那台机器要配置好NLS_LANG,否则中文会乱码
发表评论
- 浏览: 5056 次
- 性别:


- 详细资料
搜索本博客
最新评论
-
终于搞定了Rails和Oracle ...
oracle没有database之说,只有schema,默认就是当前用户的sch ...
-- by together -
终于搞定了Rails和Oracle ...
跑rails那台机器是需要按照Oracle客户端的,然后配置好连接数据库服务器的 ...
-- by robbin -
我的JavaEye首博
头像很酷,我也超喜欢matrix
-- by ouspec






评论排行榜