Thanks that helped point me in a direction.  This connection string finally
worked for me:

connection_string =  { adapter: :ado, conn_string: 'Provider=SQLNCLI11;
Server=localhost\\MD; Database=northwind_mssql; Trusted_Connection=yes;' }

Still trying to get tinytds to work but it appears to be something with how
it is installed.  The stack trace indicates it failing in tinytds because
it can't find something it depends on.  More to come.


On Thu, Feb 11, 2021 at 9:59 AM Jeremy Evans <[email protected]> wrote:

> On Thu, Feb 11, 2021 at 6:39 AM Michael Davis <[email protected]>
> wrote:
>
>> To create the table in sql server (from SSMS):
>>
>> CREATE TABLE [dbo].[Categories](
>> [CategoryID] [int] IDENTITY(1,1) NOT NULL,
>> [CategoryName] [varchar](15) NOT NULL,
>> [Description] [text] NULL,
>> [Picture] [image] NULL,
>> PRIMARY KEY CLUSTERED
>> (
>> [CategoryID] ASC
>> )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =
>> OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
>> ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
>> GO
>>
>> Here is my code snipit:
>>
>> table_name = :Categories
>> columns = ["CategoryID","CategoryName","Description"]
>> data = [[1,"Beverages","Soft drinks, coffees, teas, beers, and
>> ales"],[2,"Condiments","Sweet and savory sauces, relishes, spreads, and
>> seasonings"],[3,"Confections","Desserts, candies, and sweet breads"]]
>> connection_string = 'ado:///northwind_mssql?host=localhost\\MD' # MD is
>> the instance of my local sql server database
>> Sequel.connect(connection_string) do |db|
>>    db.synchronize do
>>       db.run("SET IDENTITY_INSERT #{table_name} ON;")
>>       db[table_name].import(columns, data)
>>    ensure
>>       db.run("SET IDENTITY_INSERT #{table_name} OFF;")
>>    end
>>    ds = db.fetch("select * from #{table_name}")
>>    p ds.all
>> end
>>
>> Here is the error:
>>
>> C:/Ruby27/lib/ruby/gems/2.7.0/gems/sequel-5.39.0/lib/sequel/adapters/ado.rb:151:in
>> `method_missing': WIN32OLERuntimeError: (in OLE method `Execute': )
>> (Sequel::DatabaseError)
>>     OLE error code:80040E14 in Microsoft OLE DB Provider for ODBC Drivers
>>       [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot insert
>> explicit value for identity column in table 'Categories' when
>> IDENTITY_INSERT is set to OFF.
>>     HRESULT error code:0x80020009
>>
>
> The code works fine with the tinytds adapter.  It also works fine with the
> ado adapter if you specify an appropriate :provider option.  See
> http://sequel.jeremyevans.net/rdoc/files/doc/opening_databases_rdoc.html#label-ado
>
> Thanks,
> Jeremy
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "sequel-talk" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/sequel-talk/LZJng8kR8MA/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sequel-talk/CADGZSSf4R9hvGPDH7%3DFQUfEqwodCQVtQOn02OCSMjs66i0raWw%40mail.gmail.com
> <https://groups.google.com/d/msgid/sequel-talk/CADGZSSf4R9hvGPDH7%3DFQUfEqwodCQVtQOn02OCSMjs66i0raWw%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sequel-talk/CALxMgNN%3DpJTrZoS%2BmPA8N7dRcZqUocBgD031k-W1sZpV8bwNjw%40mail.gmail.com.

Reply via email to