rails的链接oracle数据库的几个问题。
2007-09-22 22:58
411 查看
最近学学rails,随便为我们的实时系统做一个测试用的模拟器。
以前没有接触过rails,在网上看了两天ruby的资料,买了一本《Agile Web Development with Rails》,翻了翻开始做 起来。
下载ruby,下载rails,一切顺利。
1.配置数据库,我们以前的系统用的是oracle9,于是我在http://rubyforge.org/projects/ruby-oci8下载了一个驱动程序。
C:/>ruby ruby-oci8-0[1].1.13-mswin.rb
Copy OCI8.rb to c:/ruby/lib/ruby/site_ruby/1.8/DBD/OCI8
Copy oci8.rb to c:/ruby/lib/ruby/site_ruby/1.8
Copy oci8lib.so to c:/ruby/lib/ruby/site_ruby/1.8/i386-msvcrt
OK?
Enter Yes/No: Yes
Copying OCI8.rb to c:/ruby/lib/ruby/site_ruby/1.8/DBD/OCI8 ... done
Copying oci8.rb to c:/ruby/lib/ruby/site_ruby/1.8 ... done
Copying oci8lib.so to c:/ruby/lib/ruby/site_ruby/1.8/i386-msvcrt ... done
OK
成功。
由于我的Oracle在公司服务器上,所以我配置oralce9带的tnsnames.ora
ORA920 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ×.×.×.×)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ora920)
)
)
2.用rails创建我的模拟器工程,
rails sim
好了,在./ora/config/database.yml
development:
adapter: oci
database: ora920
username: test
password: test
host: ora920
encoding: utf8设置utf8是因为解决rails显示中文的问题。
3.接着,用rails脚手架,试着建立对某数据库表的访问。
./ruby script/generate scaffold svc_product
exists app/controllers/
exists app/helpers/
create app/views/svc_products
exists app/views/layouts/
exists test/functional/
dependency model
exists app/models/
exists test/unit/
exists test/fixtures/
skip app/models/svc_product.rb
identical test/unit/svc_product_test.rb
identical test/fixtures/svc_products.yml
"DESC svc_products" failed; does it exist?
失败了,是rails默认会寻找复数的表名,要去除这个约定,需要增加一个全局变量赋值(我在development.rb中加)
ActiveRecord::Base.pluralize_table_names = false
4.现在启动web server
ruby script/server
打开浏览器,试试访问svc_product表
哦,中文显示有问题,是乱码。选择浏览器编码为GB2312,渲染网页,中文已经正常显示了。现在我们已经可以通过网页增删改表的数据了。不错,不错。
以前没有接触过rails,在网上看了两天ruby的资料,买了一本《Agile Web Development with Rails》,翻了翻开始做 起来。
下载ruby,下载rails,一切顺利。
1.配置数据库,我们以前的系统用的是oracle9,于是我在http://rubyforge.org/projects/ruby-oci8下载了一个驱动程序。
C:/>ruby ruby-oci8-0[1].1.13-mswin.rb
Copy OCI8.rb to c:/ruby/lib/ruby/site_ruby/1.8/DBD/OCI8
Copy oci8.rb to c:/ruby/lib/ruby/site_ruby/1.8
Copy oci8lib.so to c:/ruby/lib/ruby/site_ruby/1.8/i386-msvcrt
OK?
Enter Yes/No: Yes
Copying OCI8.rb to c:/ruby/lib/ruby/site_ruby/1.8/DBD/OCI8 ... done
Copying oci8.rb to c:/ruby/lib/ruby/site_ruby/1.8 ... done
Copying oci8lib.so to c:/ruby/lib/ruby/site_ruby/1.8/i386-msvcrt ... done
OK
成功。
由于我的Oracle在公司服务器上,所以我配置oralce9带的tnsnames.ora
ORA920 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ×.×.×.×)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ora920)
)
)
2.用rails创建我的模拟器工程,
rails sim
好了,在./ora/config/database.yml
development:
adapter: oci
database: ora920
username: test
password: test
host: ora920
encoding: utf8设置utf8是因为解决rails显示中文的问题。
3.接着,用rails脚手架,试着建立对某数据库表的访问。
./ruby script/generate scaffold svc_product
exists app/controllers/
exists app/helpers/
create app/views/svc_products
exists app/views/layouts/
exists test/functional/
dependency model
exists app/models/
exists test/unit/
exists test/fixtures/
skip app/models/svc_product.rb
identical test/unit/svc_product_test.rb
identical test/fixtures/svc_products.yml
"DESC svc_products" failed; does it exist?
失败了,是rails默认会寻找复数的表名,要去除这个约定,需要增加一个全局变量赋值(我在development.rb中加)
ActiveRecord::Base.pluralize_table_names = false
4.现在启动web server
ruby script/server
打开浏览器,试试访问svc_product表
哦,中文显示有问题,是乱码。选择浏览器编码为GB2312,渲染网页,中文已经正常显示了。现在我们已经可以通过网页增删改表的数据了。不错,不错。
相关文章推荐
- 关于Oracle数据库中行迁移/行链接的问题 (2)
- C++链接几个经常出错的问题
- 关于网络驱动器图标显示问题的几个链接
- ORACLE数据库汉字占几个字节问题
- 关于Oracle数据库中行迁移/行链接的问题
- 刚学习oracle数据库遇到的几个问题
- 洗牌问题的几个链接
- oracle技术之关于Oracle数据库中行迁移/行链接的问题(三)
- ORACLE数据库汉字占几个字节问题
- 关于Oracle数据库中行迁移/行链接的问题
- MyEclipse链接oracle数据库问题
- 有关.NET链接Oracle数据库,使用连接池pooling=true时问题
- 关于Oracle数据库中行迁移/行链接的问题
- 托管C++项目链接非托管C++静态链接库几个问题
- ADO.NET(二) oracle数据库链接、和Oracle.DataAccess.dll 有关异常的各种问题
- 关于Oracle数据库中行迁移/行链接的问题(二)
- MyEclipse链接oracle数据库问题
- oracle数据库备份导入要注意的几个问题
- 1.29使用hibernate链接oracle数据库出现问题并解决
- 关于Oracle数据库中行迁移/行链接的问题