来自Apache服务器上的Ruby脚本的ADODB.Connection错误

时间:2012-11-19 23:06:41

标签: ruby apache adodb

我有一个连接到SQL Server数据库的Ruby脚本(非Rails)。从命令行运行时,它运行正常。当通过http请求执行时,它会生成错误,特别是在打开数据库连接时。关于http / SQL方法组合的一些方法是失败的。

我在一台机器上运行脚本:Windows 7 Ultimate(64位),Ruby 1.9.3p125,Apache 2.2.11。该数据库是SQL Server 10.0.4000,托管在单独的(公司,内部)服务器上。

脚本看起来像这样:

#!/Ruby193/bin/ruby
require 'win32ole'
...
$qadb = nil
begin
  $qadb = SqlServer.new('192.168.100.249', 'qauser', 'password')
  $qadb.open('qadb')
rescue
  logRegression("Rescued: Unable to access QADB: #{$!}")
end

SqlServer类基于David Mullet的代码,可在http://rubyonwindows.blogspot.com/2007/03/ruby-ado-and-sqlserver.html找到(为简洁起见,此处未复制)。

从命令行,数据库打开正常,我从脚本中获得了预期的结果。当我通过我的内部服务器(http://qatools/getTask.rb)调用脚本时,我的日志文件中出现以下错误:

  

获救:无法访问QADB:无法从“ADODB.Connection”创建WIN32OLE对象       HRESULT错误代码:0x8007007e         找不到指定的模块。

我认为我可能错过了一个DLL。其他研究让我转向ntwdblib.dll - 我试着下载一份副本并将其放在各种文件夹中。我还认为我可能面临Apache配置问题和/或安全/权限问题,但我没有找到适合我特定问题的解决方案。

有什么想法吗?

0 个答案:

没有答案