# ActiveRecord connect to SqlServer

**URL:** <https://www.ruby-forum.com/t/activerecord-connect-to-sqlserver/127055>\
**Category:** Ruby\
**Created:** [January 24, 2008, 5:02pm UTC](https://www.ruby-forum.com/t/activerecord-connect-to-sqlserver/127055 "2008-01-24T17:02:02Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![dkmd\_nielsen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/958977/32.png) [@dkmd\_nielsen](https://www.ruby-forum.com/u/dkmd_nielsen)\
**Post date:** [January 24, 2008, 5:02pm UTC](https://www.ruby-forum.com/t/activerecord-connect-to-sqlserver/127055/1 "2008-01-24T17:02:02Z")

</div>

I know you guys have beaten this subject to death, but I’m just not  
getting a connection to SqlServer 2005. It is installed locally, with  
an instance name of DVN-P548. I use my windows user name and password  
to log in.

require ‘rubygems’  
require\_gem ‘activerecord’

ActiveRecord::Base.establish\_connection(  
:adapter =\> ‘sqlserver’,  
:mode =\> ‘ADO’,  
:host =\> ‘P548-DVN’,  
:dsn =\> ‘???’, \*\* what is this supposed  
to be???  
:database =\> ‘CountsAAN’,  
:username =\> ‘my\_windows\_userid’,  
:password =\> ‘my\_password’  
)

class WiRecord \< ActiveRecord::Base  
end

Errors I get returned are either “Server does not exist or access is  
denied” (thanks, MS, for narrowing this one down a bit), or “user is  
not trusted”, depending on what values I have attempted for host and  
dsn. What is host and dsn? Believe it or not, I do not find a clear  
definition in the rails handbook.

Do I want to use ADO, or should I use ODBC? If odbc, where does one  
find the connection string? Being a windows user, I’m so used to  
having everything done for me under the covers that I don’t understand  
any of the underlying details.

Thanks for everything,  
dvn

---

<div class="post-metadata">

**Author:** ![dkmd\_nielsen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/958977/32.png) [@dkmd\_nielsen](https://www.ruby-forum.com/u/dkmd_nielsen)\
**Post date:** [January 24, 2008, 6:10pm UTC](https://www.ruby-forum.com/t/activerecord-connect-to-sqlserver/127055/2 "2008-01-24T18:10:54Z")

</div>

ActiveRecord::Base.establish\_connection(  
:adapter =\> ‘sqlserver’,  
:mode =\> ‘ADO’,  
:host =\> ‘DVN-P548’,  
:dsn =\> ‘LocalSqlServer2005’,  
:database =\> ‘CountsAAN’,  
:username =\> ‘my\_username’,  
:password =\> ‘my\_password’  
)

The above configuration yields a Login failed for user. I’ve  
confirmed through Windows Services that my user name and password are  
valid for logging into my server instance. I’ve tried user name in  
the formats of “my\_username” and “domain\my\_username”, and both fail  
with the same error: “Login failed for user ‘my\_username’. HRESULT  
error code:0x80020009”. So I’m at a loss. I don’t know what else to  
check.

---

<div class="post-metadata">

**Author:** ![dkmd\_nielsen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/958977/32.png) [@dkmd\_nielsen](https://www.ruby-forum.com/u/dkmd_nielsen)\
**Post date:** [January 24, 2008, 6:35pm UTC](https://www.ruby-forum.com/t/activerecord-connect-to-sqlserver/127055/3 "2008-01-24T18:35:02Z")

</div>

On Jan 24, 2008 9:59 AM, dkmd\_nielsen [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> ```
> :mode => 'ADO',
> :host => 'P548-DVN',
> 
> ```

Why is this not DVN-P548?

> ```
> :dsn => '???', ** what is this supposed
> 
> ```
> 
> to be???

You shouldn’t need that part of the Hash. Try leaving the :dsn part  
out.

> not trusted"  
> That last error is a bit weird. That means you’re connecting to  
> something, but failing. Maybe look at your permissions?

> , depending on what values I have attempted for host and  
> dsn. What is host and dsn? Believe it or not, I do not find a clear  
> definition in the rails handbook.

“host” is the name of the machine you are running the database on.  
This can also be an IP address. If the database is on the same  
machine, use 127.0.0.1 or localhost.

> Do I want to use ADO, or should I use ODBC? If odbc, where does one  
> find the connection string? Being a windows user, I’m so used to  
> having everything done for me under the covers that I don’t understand  
> any of the underlying details.

Hopefully somebody else can answer this.

> Thanks for everything,  
> dvn

Todd

---

<div class="post-metadata">

**Author:** ![dkmd\_nielsen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/958977/32.png) [@dkmd\_nielsen](https://www.ruby-forum.com/u/dkmd_nielsen)\
**Post date:** [January 25, 2008, 11:05am UTC](https://www.ruby-forum.com/t/activerecord-connect-to-sqlserver/127055/4 "2008-01-25T11:05:37Z")

</div>

On Jan 24, 6:34 pm, Todd B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > ActiveRecord::Base.establish\_connection(
> 
> > not trusted"  
> > machine, use 127.0.0.1 or localhost.  
> > Thanks for everything,  
> > dvn
> 
> Todd

You can make a User DSN throughout ODBC Data Source Administrator for  
example named MyExpressDB using SQL Native Client driver.

Then your connection settings should be:

ActiveRecord::Base.establish\_connection(  
:adapter =\> “sqlserver”,  
:mode =\> “ODBC”,  
:dsn =\> “MyExpressDB”  
)

and sit back and enjoy

---

<div class="post-metadata">

**Author:** ![dkmd\_nielsen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/958977/32.png) [@dkmd\_nielsen](https://www.ruby-forum.com/u/dkmd_nielsen)\
**Post date:** [January 25, 2008, 10:57pm UTC](https://www.ruby-forum.com/t/activerecord-connect-to-sqlserver/127055/5 "2008-01-25T22:57:40Z")

</div>

On Jan 25, 4:00 am, Dejan D. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > > ```
> > > :dsn => '???', ** what is this supposed
> > > 
> > > ```
> > > 
> > > end  
> > > definition in the rails handbook.  
> > > Hopefully somebody else can answer this.
> 
> ActiveRecord::Base.establish\_connection(  
> :adapter =\> “sqlserver”,  
> :mode =\> “ODBC”,  
> :dsn =\> “MyExpressDB”  
> )
> 
> and sit back and enjoy

Thanks to all. I setup the ODBC connection and it is working  
perfectly. All I did was change the :mode to “ODBC”, and that was it.

dvn

---

<div class="post-metadata">

**Author:** ![dkmd\_nielsen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/958977/32.png) [@dkmd\_nielsen](https://www.ruby-forum.com/u/dkmd_nielsen)\
**Post date:** [January 26, 2008, 3:35am UTC](https://www.ruby-forum.com/t/activerecord-connect-to-sqlserver/127055/6 "2008-01-26T03:35:52Z")

</div>

On Jan 24, 10:34 am, Todd B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > ActiveRecord::Base.establish\_connection(
> 
> > not trusted"  
> > machine, use 127.0.0.1 or localhost.  
> > Thanks for everything,  
> > dvn
> 
> Todd

I think this error “Server does not exist or access is  
denied” (thanks, MS, for narrowing this one down a bit), or “user is  
not trusted” means you are trying to access a sql server that is  
domain authenticated by supplying a sql server authenticated user

Also, when I used ado some time back with rails I got lots of errors,  
but switching to odbc mae it work fine.

Paul

---

<div class="post-metadata">

**Author:** ![dkmd\_nielsen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/958977/32.png) [@dkmd\_nielsen](https://www.ruby-forum.com/u/dkmd_nielsen)\
**Post date:** [January 26, 2008, 6:01am UTC](https://www.ruby-forum.com/t/activerecord-connect-to-sqlserver/127055/7 "2008-01-26T06:01:55Z")

</div>

@ DVN

Thanks for this thread and thanks to others who helped him.

I would request you to kindly paste here the complete configuration file  
( YAML) along with the SQL driver installation and its location.

Your single file with full details shall help many many developers, who  
are facing same problem like you, including me.

Since the above codes are all mixed up, a single paste with full details  
shall be an wonderful idea.

I hope you will help us.

Thanks

SoftMind.
