4 ms·
Microsoft had SQL Server Native Client (ODBC) driver for Linux available for a few years now. So your could develop/test on Linux with SQL Server running in a V
by boris 10y ago
Microsoft had SQL Server Native Client (ODBC) driver for Linux available for a few years now. So your could develop/test on Linux with SQL Server running in a VM. This is how we have been doing it in ODB (C++ ORM) for years.
Of course, don't expect either of them to be open source. Which means an open source ORM backend that depends on them can't be in an official Debian/Ubuntu/RH repository.
- sanxiyn 10y agoIt can be in Debian contrib. As a matter of fact, libdbd-oracle-perl is in Debian contrib. Officially, Debian contrib is not Debian, but there is no practical difference.
- snuxoll 10y agoFreeTDS is "good enough" for every time I've needed to talk with SQL Server, including the various Python/Ruby/etc. drivers built on top of it. Ditto with jTDS for Java. Outside of .Net development I have never used the official Microsoft SQL Server driver.
- needusername 10y agojTDS is severely lacking in features. AFAIK it stayed on JDBC 3.0 / J2EE 1.3. This is quite outdated for for todays world an is likely going to cause issues with current frameworks and libraries.
- snuxoll 10y agoFair enough, though I haven't run into (m)any situations where the driver not supporting JDBC 4.X has caused problems. Now that Microsoft's JDBC driver is open source and on Maven Central I might switch to it, though thankfully MSSQL is starting to lose favor in my team as we become more familiar with PostgreSQL.
- electrum 10y agoThe Microsoft JDBC driver is MIT licensed: https://github.com/Microsoft/mssql-jdbc https://github.com/Microsoft/mssql-jdbc
- aseipp 10y agoAnd the TDS specification is also available (no registration needed to read the docs). So anyone can write their own freely licensed driver (much like FreeTDS). I've been thinking of writing a native Haskell port, myself, as SQL Server on Linux is so much easier to start with (SQL Server is one of the systems that has almost 0 support anywhere in our ecosystem, but I know of more than one person who'd like to see it). So while SQL server is unavailable, free client drivers will hopefully begin popping up more and more and will become accessible through e.g. Debian repositories, with time.
- codygman 10y ago> (SQL Server is one of the systems that has almost 0 support anywhere in our ecosystem, but I know of more than one person who'd like to see it). Add another to the list. I've had to resort to using hs-odbc who's forced to use freetds, meaning there are weird issues like this: https://github.com/hdbc/hdbc-odbc/issues/17 https://github.com/hdbc/hdbc-odbc/issues/17 I did find one pure haskell mssql implementation and was trying to use it here: https://github.com/hdbc/hdbc-odbc/issues/17 https://github.com/hdbc/hdbc-odbc/issues/17 Oh cool, it looks like it has commits over the past few weeks!
- userbinator 10y agoI looked at the TDS spec and it's one of the most confusingly written protocol specifications I've seen. The unusual/somewhat verbose wording, general lack of examples (except for a brief section at the end, in hexdump and XML(!?)) and overall (mis)organisation give the impression of hastily redacted internal documentation and/or deliberate attempts to discourage implementation while still being able to claim the protocol is "open".
- jsmeaton 10y agoThe SQL Server running in a VM is precisely the part you no longer have to worry about. Drive by contributors aren't going to do this when offering ORM patches. But if they have an easy way to test on Linux it becomes a lot more viable. Going back to Django, we provide a vagrant image with most databases preinstalled. Adding sqlserver to this setup will now make sense. Also Microsoft are deprecating the old bindings and are creating new ones I believe will be open source. I might be off slightly.
- toyg 10y ago> Adding sqlserver to this setup will now make sense I would strongly recommend you check SqlServer license terms first; the last thing you want is to make any of your downloaders liable for license payments as soon as they start the image. I really don't think what you suggest is possible, because you would be redistributing SqlServer - maybe with the Express version, but that was pretty crippled last time I checked.
- philliphaydon 10y agoYou must have checked back in 2010. It has like a 10gb limit. But comes with most standard features. Even full text search. (Wasn't available in 2008)
- toyg 10y agoA 10 gb limit makes it unusable for me, so that's probably why I discounted it.
- BuuQu9hu 10y agoThere is open source support for contacting MS SQL servers for many years: https://en.wikipedia.org/wiki/FreeTDS https://en.wikipedia.org/wiki/FreeTDS