3 ms·
> I wish there was a library for "every" that took a standardized connection string and mapped it to "every" DB/storage/queue/etc client. This has been around
by jolux 5y ago
> I wish there was a library for "every" that took a standardized connection string and mapped it to "every" DB/storage/queue/etc client.
This has been around for like 30 years, it's called ODBC. As long as you're using an ODBC driver the strings are the same (modulo the driver specification).
- zo1 5y agoIntuitively you would think so, but unfortunately not. The ODBC specification last time I looked into it doesn't dictate the key-values that is given to the database driver so it's up to each driver to pick it's own. E.g. HOSTNAME vs SERVER, or PASSWORD vs PWD are the two main differences I recall. I'm not super well-versed in it, so I'm sure someone else here can provide more detail as to why it's different or if there is history behind it being like this. But from a dev's perspective, ODBC connection strings are an absolute mess. Not to mention no one really knows what's what, hence this website. Fun fact, I tried to find the spec as part of responding here and I couldn't find it. Best I could find was this: https://docs.microsoft.com/en-us/sql/odbc/reference/develop-app/driver-manager-s-role-in-the-connection-process?view=sql-server-ver15 https://docs.microsoft.com/en-us/sql/odbc/reference/develop-... But you go around finding actual details and next thing you know it's under the heading of "SQL Server XXXX" so you have no idea if it's the "spec" or just the MS SQL Server driver reference.
- jolux 5y agoThat’s a shame. I never dug deep into this, but I’m pretty sure the Postgres and SQL Server strings are similar.