Live data from Hacker News

Open Sourcing the Microsoft JDBC Driver and Maven Support

blogs.msdn.microsoft.com

31–40 of 48 posts

Re: Open Sourcing the Microsoft JDBC Driver and Maven Support

#31
post #21

Yay... Isnt everyone using jTDS anyway because it is reliably faster? https://social.msdn.microsoft.com/Forums/en-US/36e7b9cf-5bc5... http://stackoverflow.com/questions/7848213/why-is-jtds-faste... Edit: seems like they fixed their abysmal performance after 5years in jan 2016; see stackoverflow comment.

As if the fact that jTDS is mostly unmaintained wasn't enough reason not to use it, the MS driver supports several extra useful features e.g. bulk insert and availability groups (for AlwaysOn)

Re: Open Sourcing the Microsoft JDBC Driver and Maven Support

#32
post #30
post #12

Earlier quoted context omitted.

> the bane of my existence This reminds me far too much of the .NET DB2 drivers. What a steaming pile, not to mention having to navigate the labyrinth of the IBM download site to even find it in the first place.

You know what's worse? DB2 for iSeries. Pisses me off to no end that pulling JTOpen from Maven is crazy easy, but if you want to access your data from any other language prepare to shell out thousands of dollars for "DB2 Connect" (per server!) because it's totally incomprehensible that even though you've already payed through the nose for IBM i that you shouldn't be charged for accessing the data anywhere else.

Usually plays out something like this:

"Hi $BIG_COMPANY, we'd like to expand our usage of $SOFTWARE that we've already got a $BIG_MONEY license for. Where can we get client drivers for a new app that will use it?"

"Hi $CUSTOMER, that's great news. Send us a check for $MORE_MONEY and we'd be happy to help."

"Hi $BIG_COMPANY, to clarify, we're already paying $BIG_MONEY for a license for the server and we'd like to expand our usage of it. That means in the longer term we'd be more entrenched into using it and would likely renew your contract."

"Hi $CUSTOMER, that's great news. Send us a check for $MORE_MONEY and we'd be happy to help."

Re: Open Sourcing the Microsoft JDBC Driver and Maven Support

#33
post #17

How did people use this before if it wasn't in the Maven Central Repo? I know it's possible to not use mvn, just wondering what people did in cases like this where a possibly major component in the stack was unavailable. Most big stuff in Java can be found in mvn, and if not we often end up using an alternative. But that's not so easy for a driver.

Short of having a common / private repo (which is good advice for many other reasons), you can add it directly to the project so that it comes bundled with your source. This has the disadvantage of adding the JAR files to your source (which fattens things) but it has the advantage of working out of the box without any special config on a new developer's machine.

Here's a nice article explaining how to do it: https://devcenter.heroku.com/articles/local-maven-dependenci...

Re: Open Sourcing the Microsoft JDBC Driver and Maven Support

#34
post #11
post #7

Earlier quoted context omitted.

> Microsoft has been open-sourcing a lot lately, but it seems to be mostly "peripheral" software... How is .NET Core peripheral software? If anything it enables developers with C# codebases to move away from Microsoft's commercial products.

And they've open sourced a lot more than just .NET Core. https://github.com/Microsoft/dotnet

http://microsoft.github.io is a metasite with links to most of the Microsoft GitHub organizations and repositories. You can spend days flipping through all of it.

Re: Open Sourcing the Microsoft JDBC Driver and Maven Support

#36
post #17

How did people use this before if it wasn't in the Maven Central Repo? I know it's possible to not use mvn, just wondering what people did in cases like this where a possibly major component in the stack was unavailable. Most big stuff in Java can be found in mvn, and if not we often end up using an alternative. But that's not so easy for a driver.

I have similar library and I use the following approach. I have "lib" directory in the project and I have those jar files there. Also there's simple install.sh script which calls "mvn install:install-file" for every jar-file. So developer has to run install.sh script once and he's done.

Re: Open Sourcing the Microsoft JDBC Driver and Maven Support

#37
post #12
post #9

Finally! Having dealt with many database drivers over the years, I can say first hand that closed source drivers are the bane of my existence. The only thing worse than running into a deep-in-the-stack bug in a database driver is one that you can't correct, let alone debug properly. Regardless of your views on closed source software on the server side of things, it's a disservice to your customers to not have open so…

> the bane of my existence This reminds me far too much of the .NET DB2 drivers. What a steaming pile, not to mention having to navigate the labyrinth of the IBM download site to even find it in the first place.

Thank you. I will now need several hours of therapy to get quality sleep again.

Porting a .NET application build for MS SQL to DB2 and dealing with all the ... pecualiarities of the DB2 driver is something I will hopefully never have to do again.

Re: Open Sourcing the Microsoft JDBC Driver and Maven Support

#38
post #9

Finally! Having dealt with many database drivers over the years, I can say first hand that closed source drivers are the bane of my existence. The only thing worse than running into a deep-in-the-stack bug in a database driver is one that you can't correct, let alone debug properly. Regardless of your views on closed source software on the server side of things, it's a disservice to your customers to not have open so…

> The secret sauce is always on the server side

Not so much anymore? The tendency is towards smarter clients and possibly dumber servers.

cf Kafka

Also fast switchover in Oracle's JDBC drivers requires some code outside what is required by JDBC api.

Re: Open Sourcing the Microsoft JDBC Driver and Maven Support

#39
post #17

How did people use this before if it wasn't in the Maven Central Repo? I know it's possible to not use mvn, just wondering what people did in cases like this where a possibly major component in the stack was unavailable. Most big stuff in Java can be found in mvn, and if not we often end up using an alternative. But that's not so easy for a driver.

I have similar library and I use the following approach. I have "lib" directory in the project and I have those jar files there. Also there's simple install.sh script which calls "mvn install:install-file" for every jar-file. So developer has to run install.sh script once and he's done.

Yep, same. For artifacts I've dealt with before it is semi-automated; it infers the groupid-artifactid-version from the name of the file downloaded from the vendor site.

Re: Open Sourcing the Microsoft JDBC Driver and Maven Support

#40
post #21

Yay... Isnt everyone using jTDS anyway because it is reliably faster? https://social.msdn.microsoft.com/Forums/en-US/36e7b9cf-5bc5... http://stackoverflow.com/questions/7848213/why-is-jtds-faste... Edit: seems like they fixed their abysmal performance after 5years in jan 2016; see stackoverflow comment.

The jTDS project is dying, there has not been a new release in over 3 years despite some pretty significant bugs. https://sourceforge.net/p/jtds/discussion/129584/thread/050f...

Yeah, maybe we'll switch as well now.

But I just cant stand the loving hype for MS here. They gave out such horrible and dog slow drivers to their paying customers that people reverse engineered the protocol and wrote their own. And it still performs very well.

Now that MS publishes this codebase (which should have been standard, or at least best, practice), they get showered with love.

Like an abusive relationship where one is happy and extatic if the abuser is reasonably nice for a day.

Post reply on HN