# Database access problem through cgi script

**URL:** <https://www.ruby-forum.com/t/database-access-problem-through-cgi-script/156455>\
**Category:** Ruby\
**Created:** [December 28, 2008, 2:40am UTC](https://www.ruby-forum.com/t/database-access-problem-through-cgi-script/156455 "2008-12-28T02:40:10Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![raju\_k](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/a9adbd/32.png) [@raju\_k](https://www.ruby-forum.com/u/raju_k)\
**Post date:** [December 28, 2008, 2:40am UTC](https://www.ruby-forum.com/t/database-access-problem-through-cgi-script/156455/1 "2008-12-28T02:40:10Z")

</div>

Hi,  
I am trying to print a set of data from database with a CGI script. This  
script works fine a simple ruby script. But doesnt work in cgi script.  
Any help is appreciated.

connection = WIN32OLE.new(‘ADODB.Connection’)  
connection.Open(‘Provider=Microsoft.Jet.OLEDB.4.0;Data  
Source=C:\INFOPROJECT\db1.mdb’)  
recordset = WIN32OLE.new(‘ADODB.Recordset’)  
sql = “select \* from GuestBook”  
recordset.Open(sql, connection)  
data = recordset.GetRows #.transpose  
puts data  
recordset.Close  
connection.close

How can i call the above statements in below cgi script to make it work.

#!/usr/bin/ruby  
require ‘win32ole’  
require ‘cgi’

cgi = CGI.new(“html3”)  
cgi.out() do  
cgi.html() do  
cgi.head{ cgi.title{“DATABASE”} } +  
cgi.body() do  
cgi.form() do  
cgi.textarea(“get\_text”) +  
cgi.br +

```
    end
  end
end
```

---

<div class="post-metadata">

**Author:** ![raju\_k](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/a9adbd/32.png) [@raju\_k](https://www.ruby-forum.com/u/raju_k)\
**Post date:** [December 28, 2008, 8:15pm UTC](https://www.ruby-forum.com/t/database-access-problem-through-cgi-script/156455/2 "2008-12-28T20:15:53Z")

</div>

Raju A. wrote:

> Hi,  
> I am trying to print a set of data from database with a CGI script. This  
> script works fine a simple ruby script. But doesnt work in cgi script.  
> Any help is appreciated.

When calling it on the console it is you (i.e. the user ID you are  
logged in with).  
When calling the CGI it is the webserver (i.e. the user ID under which  
it is running) that is executing your code.

Are you sure that the webserver has the permission to connect to the DB?

T.
