fluent-kit
fluent-kit copied to clipboard
SQLServer driver
Any thoughts / ambitions on creating connectivity to Microsoft SQL Server?
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.
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.
First step would be:
- researching if MSSQL documents their wire protocol
- or if they already have a non-blocking (very important that it be non-blocking) C library.
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
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
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
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?
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.
Agreed. Linking the forum pitch here for reference: https://forums.swift.org/t/sql-server-driver/20327
I am going to raise my hand again for SQL Server. It is one of the most widely used databases in the enterprise.
I have made a start at - http://www.binaryrefinery.com
Is there any updates to this? Would love to have MSSQL support in Vapor
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.
Noted, thank you. New to vapor so looking forward to contributing where possible :)
Any update on this?
@thejdah Nope, essentially waiting for someone in the community to build a driver. It's not on the Vapor roadmap