vapor / fluent-kit

Swift ORM (queries, models, and relations) for NoSQL and SQL databases
MIT License
208 stars 116 forks source link

SQLServer driver #297

Open richgabrielli opened 6 years ago

richgabrielli commented 6 years ago

Any thoughts / ambitions on creating connectivity to Microsoft SQL Server?

tanner0101 commented 6 years ago

I would love to support this. Just not sure how to go about it. Ideally we would create a native protocol client using SwiftNIO so that we can take advantage of non-blocking IO. Or, if MSSQL already has a non-blocking C lib we could use that would be great as well.

richgabrielli commented 6 years ago

I would very much be willing to help on this. I wish my skills we advanced enough to take a lead, but I will def be willing to be a gopher.

tanner0101 commented 6 years ago

First step would be:

richgabrielli commented 6 years ago

I found this, but I am not sure if it is what you are looking for: https://msdn.microsoft.com/en-us/library/cc425493(v=exchg.80).aspx

richgabrielli commented 6 years ago

This is more specific to SQL Server. First one may not be a good link: https://msdn.microsoft.com/en-us/library/ee210043(v=sql.105).aspx

vzsg commented 6 years ago

The only C driver library I'm aware of is freetds. I played around with it months ago and it was a massive pain to interact with from Swift, I gave up pretty soon.

The protocol it implements is documented here: MS-TDS

richgabrielli commented 6 years ago

Going with the assumption that there is no viable C driver, Are the document links in any way helpful to get started or they not what you were looking for?

Mordil commented 5 years ago

After digging around MSFT's technical documents, I think I found the actual wire protocol definition: https://sqlprotocoldoc.blob.core.windows.net/productionsqlarchives/MS-SSTDS/[MS-SSTDS].pdf

Any work to support this is probably going to go through the Swift Server Working Group before being implemented for Vapor.

tanner0101 commented 5 years ago

Agreed. Linking the forum pitch here for reference: https://forums.swift.org/t/sql-server-driver/20327

richgabrielli commented 5 years ago

I am going to raise my hand again for SQL Server. It is one of the most widely used databases in the enterprise.

richardpauljones commented 5 years ago

I have made a start at - http://www.binaryrefinery.com

Nash0x7E2 commented 4 years ago

Is there any updates to this? Would love to have MSSQL support in Vapor

Mordil commented 4 years ago

This has been pitched to the SSWG, and there's been some traffic on it.

Further tracking should be done via the Swift on Server Working Group forums at https://forums.swift.org/t/sql-server-driver/20327/.

Once a SQL Server driver has been authored, then Vapor will be able to write a Fluent driver to work with it.

Nash0x7E2 commented 4 years ago

Noted, thank you. New to vapor so looking forward to contributing where possible :)

thejdah commented 1 year ago

Any update on this?

0xTim commented 1 year ago

@thejdah Nope, essentially waiting for someone in the community to build a driver. It's not on the Vapor roadmap