作者s70487s (s70487s)
看板Ruby
标题Re: [RoR ] 如何用SybaseASE当资料库?
时间Wed Dec 10 14:34:30 2008
※ 引述《s70487s (s70487s)》之铭言:
: 我参考这篇http://wiki.rubyonrails.com/rails/pages/SybaseASEonWin32
: 似乎要先装sybase open client lib
: 也将文章上"Setup the build script"这部分的compile.bat改成这样
: rem ASE 12.5
: set SYBASE=C:\sybase
: set OSC=OCS-12_5
: set LIBS=libct.lib libcs.lib
: set RUBY=C:\ruby
: set RUBYINCLUDE=%RUBY%\lib\ruby\1.8\i386-mswin32
: set SYBINCLUDE=%SYBASE%\%OSC%\include
: set RUBYLIB=%RUBY%\lib
: set SYBASELIB=%SYBASE%\%OSC%\lib
: echo EXPORTS Init_sybct > sybct.def
: cl -nologo -LD -Fesybct.so -I"%RUBYINCLUDE%" -I"%SYBINCLUDE%" sybct.c /link /LIBPATH:"%SYBASELIB%" /LIBPATH:"%RUBYLIB%" /def:sybct.def msvcrt-ruby18.lib %LIBS%
: 然後去执行他
: 但是却不是像文章所说的那像会产生sybct.so
: 而是产生sybct.def里面只有EXPORTS Init_sybct这一行
: 目前他还是跟上一篇文章一样在伺服器启动时产生
: database configuration specifies nonexistent sybase adapter
: (ActiveRecord::AdapterNbotFound)
: 有人能给我建议吗?
: 谢谢
终於开窍了
他的compile.bat之所以需要VS.Net 2005是因为他要去使用c的compiler去
compile sybct.c(也就是最後cl那一行)
不过要能compile这个档案需要用到一些lib
如果想知道那行所带的参数意义的话,下cl -help就可知道
後来我是先去cl sybct.c
当然这样一定会错,我是根据错误讯息一步一步去增加所需要的library
例如: 他编译到找不到xxx.h时,我就去搜寻这个档案,
之後用"-I"去加入这档案的位置
基本上那个compile.bat就是在做这件事情,把编译这个sybct.c档的Lib都包含进来
我执行这个bat之後产生出sybct.lib sybct.obj和sybct.so
YA!终於出现我要的sybct.so
然後再follow那篇教学把那3个档案复制到指定的位置就可以
BTW
rails其实还可透过ODBC去连Sybase
就是利用odbc adapter
有兴趣可参考
http://odbc-rails.rubyforge.org/index.html
不过这方法我没试出来Orz
因为它变成给我这讯息
database configuration specifies nonexistent odbc adapter
有人可指点我吗?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.134.26.29