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
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
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
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.
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
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
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
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
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