Details
-
New Feature
-
Status: In Progress (View Workflow)
-
Major
-
Resolution: Unresolved
-
25.10.0
-
None
-
None
-
MXS-CAPACITY-25-4
Description
The purpose of the ODBCRouter is to send SQL to the server specified with an ODBC connection string in the configuration of the router. The ODBCRouter is a sink, in the sense that it will not route queries forward to some target but handle the query as is. In a sense it is a MariaDB Protocol <-> ODBC translator that on the one hand takes MariaDB Protocol request packets and converts them to the appropriate ODBC calls and, on the other hand, takes ODBC responses and converts them to MariaDB Protocol response packets. MaxScale components before the ODBCRouter will not be aware of the ODBC conversion taking place, but will only deal with MariaDB protocol packets.
The intended use of ODBCRouter is to have it as one target of some other router that based on some criteria sends some queries to the ODBCRouter and some queries to some other target.
In the MaxScale configuration file, the ODBCRouter will be configured something like:
[ODBC-Service]
|
type=service
|
router=odbcrouter
|
connection_string=DRIVER=libmaodbc.so;SERVER=my-server;PORT=3306;UID=my-user;PWD={my-password}
|
...
|
Initial limitations:
- The connection to the ODBC server will always be done using explicitly specified credentials, irrespective of the client connecting.
- All queries assumed to be SELECTs.