diff --git a/source/shared/core_conn.cpp b/source/shared/core_conn.cpp index b8ca39e3..5952ffb1 100644 --- a/source/shared/core_conn.cpp +++ b/source/shared/core_conn.cpp @@ -48,8 +48,9 @@ const int INFO_BUFFER_LEN = 256; // processor architectures const char* PROCESSOR_ARCH[] = { "x86", "x64", "ia64" }; -// ODBC driver name. -std::vector CONNECTION_STRING_DRIVER_NAME{ "Driver={ODBC Driver 17 for SQL Server};","Driver={ODBC Driver 13 for SQL Server};", "Driver={ODBC Driver 11 for SQL Server};" }; +// ODBC driver names. +// the order of this list should match the order of DRIVER_VERSION enum +std::vector CONNECTION_STRING_DRIVER_NAME{ "Driver={ODBC Driver 13 for SQL Server};", "Driver={ODBC Driver 11 for SQL Server};", "Driver={ODBC Driver 17 for SQL Server};" }; // default options if only the server is specified const char CONNECTION_STRING_DEFAULT_OPTIONS[] = "Mars_Connection={Yes};"; diff --git a/source/shared/core_sqlsrv.h b/source/shared/core_sqlsrv.h index 2e72800f..e8e630a0 100644 --- a/source/shared/core_sqlsrv.h +++ b/source/shared/core_sqlsrv.h @@ -1033,13 +1033,13 @@ enum SERVER_VERSION { }; // supported driver versions. -enum DRIVER_VERSION { - ODBC_DRIVER_UNKNOWN = -1, +// the latest RTWed ODBC is the first one +enum DRIVER_VERSION : std::size_t{ FIRST = 0, - ODBC_DRIVER_17 = FIRST, - ODBC_DRIVER_13 = 1, - ODBC_DRIVER_11 = 2, - LAST = ODBC_DRIVER_11 + ODBC_DRIVER_13 = FIRST, + ODBC_DRIVER_11 = 1, + ODBC_DRIVER_17 = 2, + LAST = ODBC_DRIVER_17 }; // forward decl