Yeah, as Kamper has eluded to, I think you're ignorant enough about this to not know the right questions to ask (no offense intended).
There is a set of database drivers that you can install in Windows that gives you a good general coverage of many common things in a package called MDAC. It contains Microsoft-written drivers for a lot of things, including Oracle. If you think you're missing a driver, this is a good thing to investigate to see if it will help you with your problem.
As Kamper said, an MDB file has nothing to do with an ODBC driver. All an MDB file is is just a Microsoft Access file, just like an XLS file is nothing more than an Excel file and a DOC file is nothing more than a Microsoft Word (and others) file.
If you're working with something at a low-level where you're writing the code to connect to a database, you more-than-likely have a connectionstring that you're working with. If this is the case, you can specify in the connectionstring what driver you wish to work with (it's not always required that you specify it depending on what your particular scenario is). If you're wanting to use a DSN then you pretty much must use ODBC. Other options (if you don't need a DSN) are OLE, SQL Connections, and many other things.
If you're working with something at a higher-level, you probably don't quite have to specify the driver to use though it may still be possible. Again, if you're using a DSN then that means you're probably using ODBC.
Regardless of any of this, pretty much any language can use pretty much any driver (well, as long as there are assemblies or whatever for your particular language to interface with such a driver). You will likely never "create" a driver yourself, you'll most likely just use pre-existing drivers. I write code that work with various databases all day and have done so for years yet I have never written a database driver.
Read a bit of this and come back with some more appropriate questions and we'll keep educating you.
-Jax