From: Brad Anderson
Subject: MS SQL Server driver
Date: 
Message-ID: <d1n9b0$hk4$1@newsdbm05.news.prodigy.com>
Does anyone know where I may be able to get some driver to connect Lisp 
to Microsoft SQL Server?

I've found that LispWorks has a driver in 4.4, but I'm unable to find 
out from their website or gmane/lists if it's native or just uses ODBC.

I should qualify "native" ...  Ideally, I'm looking for something like 
JTDS, the open-source JDBC driver for Java.  I'm looking to run our Lisp 
environment (currently SBCL, but could change based on this requirement) 
on Linux, and connect to the SQL Server cluster (obviously Windows) via 
sockets.  So, that rules out any native C lib using UFFI, I think.

Any ideas here?

BA

From: Zach Beane
Subject: Re: MS SQL Server driver
Date: 
Message-ID: <m3d5tsg3f6.fsf@unnamed.xach.com>
Brad Anderson <····@dsource.dot.org> writes:

> I should qualify "native" ...  Ideally, I'm looking for something like
> JTDS, the open-source JDBC driver for Java.  I'm looking to run our
> Lisp environment (currently SBCL, but could change based on this
> requirement) on Linux, and connect to the SQL Server cluster
> (obviously Windows) via sockets.  So, that rules out any native C lib
> using UFFI, I think.

Out of curiosity, why? FreeTDS is a free native Linux library that
connects to remote MS SQL servers just fine. Sybase's development
libraries work fine as well.

Zach
From: Brad Anderson
Subject: Re: MS SQL Server driver
Date: 
Message-ID: <d1nb0t$m9a$1@newsdbm05.news.prodigy.com>
Zach Beane wrote:
> Brad Anderson <····@dsource.dot.org> writes:
> 
> 
>>I should qualify "native" ...  Ideally, I'm looking for something like
>>JTDS, the open-source JDBC driver for Java.  I'm looking to run our
>>Lisp environment (currently SBCL, but could change based on this
>>requirement) on Linux, and connect to the SQL Server cluster
>>(obviously Windows) via sockets.  So, that rules out any native C lib
>>using UFFI, I think.
> 
> 
> Out of curiosity, why? FreeTDS is a free native Linux library that
> connects to remote MS SQL servers just fine. Sybase's development
> libraries work fine as well.
> 
> Zach

Okay, I was thinking that anything using native libs would be talking 
directly to the SQL Server locally, and therefore have to ride on 
Windows.  That was stupid of me.  Eventually, FreeTDS calls the server 
via sockets - which is what I was looking for, and locally (on Linux), 
it exposes its API, which I could get to with UFFI.

Thanks for the tip.  Now, has anyone hooked them up before?

BA
From: Jock Cooper
Subject: Re: MS SQL Server driver
Date: 
Message-ID: <m3r7i7ee1u.fsf@jcooper02.sagepub.com>
Brad Anderson <····@dsource.dot.org> writes:

> Zach Beane wrote:
> > Brad Anderson <····@dsource.dot.org> writes:
> >
> >>I should qualify "native" ...  Ideally, I'm looking for something like
> >>JTDS, the open-source JDBC driver for Java.  I'm looking to run our
> >>Lisp environment (currently SBCL, but could change based on this
> >>requirement) on Linux, and connect to the SQL Server cluster
> >>(obviously Windows) via sockets.  So, that rules out any native C lib
> >>using UFFI, I think.
> > Out of curiosity, why? FreeTDS is a free native Linux library that
> > connects to remote MS SQL servers just fine. Sybase's development
> > libraries work fine as well.
> > Zach
> 
> Okay, I was thinking that anything using native libs would be talking
> directly to the SQL Server locally, and therefore have to ride on
> Windows.  That was stupid of me.  Eventually, FreeTDS calls the server
> via sockets - which is what I was looking for, and locally (on Linux),
> it exposes its API, which I could get to with UFFI.
> 
> Thanks for the tip.  Now, has anyone hooked them up before?
> 
> BA

I use FreeTDS to talk from CMUCL to SQL server.  Using this I am able to
develop/test on my Linux system and deploy on ACL/Windows. 
From: Brad Anderson
Subject: Re: MS SQL Server driver
Date: 
Message-ID: <d1prcg$n53$1@newsdbm05.news.prodigy.com>
Jock Cooper wrote:
> Brad Anderson <····@dsource.dot.org> writes:
> 
> 
>>Zach Beane wrote:
>>
>>>Brad Anderson <····@dsource.dot.org> writes:
>>>
>>>
>>>>I should qualify "native" ...  Ideally, I'm looking for something like
>>>>JTDS, the open-source JDBC driver for Java.  I'm looking to run our
>>>>Lisp environment (currently SBCL, but could change based on this
>>>>requirement) on Linux, and connect to the SQL Server cluster
>>>>(obviously Windows) via sockets.  So, that rules out any native C lib
>>>>using UFFI, I think.
>>>
>>>Out of curiosity, why? FreeTDS is a free native Linux library that
>>>connects to remote MS SQL servers just fine. Sybase's development
>>>libraries work fine as well.
>>>Zach
>>
>>Okay, I was thinking that anything using native libs would be talking
>>directly to the SQL Server locally, and therefore have to ride on
>>Windows.  That was stupid of me.  Eventually, FreeTDS calls the server
>>via sockets - which is what I was looking for, and locally (on Linux),
>>it exposes its API, which I could get to with UFFI.
>>
>>Thanks for the tip.  Now, has anyone hooked them up before?
>>
>>BA
> 
> 
> I use FreeTDS to talk from CMUCL to SQL server.  Using this I am able to
> develop/test on my Linux system and deploy on ACL/Windows. 

Are the bindings something you can share?  Would they benefit one of the 
SQL packages out there for Lisp?

Still a newb, if you can't tell...

Thanks,
BA
From: lin8080
Subject: Re: MS SQL Server driver
Date: 
Message-ID: <42408B63.7E212D87@freenet.de>
Brad Anderson schrieb:
> Jock Cooper wrote:
> > Brad Anderson <····@dsource.dot.org> writes:
> >>Zach Beane wrote:
> >>>Brad Anderson <····@dsource.dot.org> writes:
> ...



.... and what about writing your own? In Lisp?

stefan
From: Dmitriy Ivanov
Subject: Re: MS SQL Server driver
Date: 
Message-ID: <d1p3nj$1jop$2@news.aha.ru>
Hello Brad,
"Brad Anderson" <····@dsource.dot.org> wrote:

BA> Zach Beane wrote:
BA>> Brad Anderson <····@dsource.dot.org> writes:
BA>>
BA>>
BA> >> I should qualify "native" ...  Ideally, I'm looking for
BA> >> something like JTDS, the open-source JDBC driver for Java.  I'm
BA> >> looking to run our Lisp environment (currently SBCL, but could
BA> >> change based on this requirement) on Linux, and connect to the
BA> >> SQL Server cluster (obviously Windows) via sockets.  So, that
BA> >> rules out any native C lib using UFFI, I think.
BA>>
BA>>
BA>> Out of curiosity, why? FreeTDS is a free native Linux library that
BA>> connects to remote MS SQL servers just fine. Sybase's development
BA>> libraries work fine as well.
BA>>
BA>> Zach
BA>
BA> Okay, I was thinking that anything using native libs would be
BA> talking directly to the SQL Server locally, and therefore have to
BA> ride on Windows.  That was stupid of me.  Eventually, FreeTDS calls
BA> the server via sockets - which is what I was looking for, and
BA> locally (on Linux), it exposes its API, which I could get to with
BA> UFFI.

IMHO they cannot invent anything better and more native for MSSS than ODBC.
Most of ODBC code works behind scene in JDBC and the like, whatever named,
and is quite fast and reliable.

I would recommend to try a Lisp ODBC wrapper if you managed to get a free
ODBC driver for Linux :-)
--
Sincerely,
Dmitriy Ivanov
lisp.ystok.ru
From: Brad Anderson
Subject: Re: MS SQL Server driver
Date: 
Message-ID: <YdX%d.1921$yq2.229@newssvr12.news.prodigy.com>
Dmitriy Ivanov wrote:
> Hello Brad,
<snip>
> 
> IMHO they cannot invent anything better and more native for MSSS than ODBC.
> Most of ODBC code works behind scene in JDBC and the like, whatever named,
> and is quite fast and reliable.
> 
> I would recommend to try a Lisp ODBC wrapper if you managed to get a free
> ODBC driver for Linux :-)
> --
> Sincerely,
> Dmitriy Ivanov
> lisp.ystok.ru
> 
> 

Dmitriy,

I haven't benchmarked myself, but have heard that ODBC adds a layer of 
uniformity (to comply with the ODBC standard), and if it's not 
absolutely necessary, you should avoid it for speed concerns.

I should add that we're using this in conjunction with moderate to large 
data warehouses (100GB - 1TB) and there is the potential to pull a lot 
of data through the driver.  This is why I'm searching for something 
more native to SQL Server than ODBC.  FreeTDS is the basis or our 
current and fast JDBC driver, and I just didn't think to use that in 
conjunction with Lisp/FFI.  Now I'll try...

Thanks for the response,
BA
From: Dmitriy Ivanov
Subject: Re: MS SQL Server driver
Date: 
Message-ID: <d1r54u$qcu$1@news.aha.ru>
Hello Brad,
"Brad Anderson" <····@dsource.org> wrote:

BA> Dmitriy Ivanov wrote:
BA>> IMHO they cannot invent anything better and more native for MSSS
BA>> than ODBC. Most of ODBC code works behind scene in JDBC and the
BA>> like, whatever named, and is quite fast and reliable. I would
BA>> recommend to try a Lisp ODBC wrapper if you managed to get a free
BA>> ODBC driver for Linux :-)
BA>
BA> I haven't benchmarked myself, but have heard that ODBC adds a layer
BA> of uniformity (to comply with the ODBC standard), and if it's not
BA> absolutely necessary, you should avoid it for speed concerns.
BA>
BA> I should add that we're using this in conjunction with moderate to
BA> large data warehouses (100GB - 1TB) and there is the potential to
BA> pull a lot of data through the driver.  This is why I'm searching
BA> for something more native to SQL Server than ODBC.  FreeTDS is the
BA> basis or our current and fast JDBC driver, and I just didn't think
BA> to use that in conjunction with Lisp/FFI.  Now I'll try...

OT1H, the ODBC layer does not impose any extra burden on the server. Though,
this can depend on the driver vendor and implementation. For example,
DataDirect are developing so-called wire-technology of ODBC drivers. Their
driver for Oracle outperforms OCI, see benchmarking results in http://www.sqlsummit.com

OTOH, the client part of the driver does provide the application with a kind
of uniformity and convenience, which necessarily includes some overhead.

In my view of a typical two- or more- tier architecture, the client is not
such a bottleneck as the server. YMMV.
--
Sincerely,
Dmitriy Ivanov
lisp.ystok.ru