ODBCDatabase
From Xojo Documentation
Used to open an ODBC database using an ODBC drivers. You use the constants in the ODBCConstant module with the methods and properties of the ODBCDatabase class.
Properties | |||||||||||
|
Notes
In order to use this class, you must have the ODBCDatabase plug-in in your plugins folder.
The ODBCDatabase class also requires a driver manager and driver. On the Windows platform, the driver manager is supplied by Microsoft as part of Windows or as part of the MDAC package. For non-Windows platforms, the iODBC driver manager is required, which is available from http://www.iodbc.org or is installed with most commercial drivers.
ODBC drivers may be included with the OS, or may be obtained from the database vendor or a commercial developer of ODBC drivers. Non-Windows drivers must be compatible with the iODBC standard. For macOS, Actual Technologies supplies iODBC compliant drivers that work well with Xojo apps. There are other vendors as well.
The driver must match the architecture of the app. So a 64-bit app must use a 64-bit ODBC driver and a 32-bit app must use a 32-bit ODBC driver.
The ODBCDatabase engine supports all four RowSet navigation methods: MoveFirst, MoveNext, MovePrevious, and MoveLast.
PostgreSQL Notes
On macOS, when connecting to PostgreSQL using ODBC you must specify a username and password. If you do not, the ODBC driver will crash your app.
Threading
SelectSQL and ExecuteSQL statements do not block when called from within Threads.
Sample Code
This code prompts the user to select a Data Source from either the User or System data sources:
db.DataSource = ""
Try
db.Connect
// proceed with database operations
Catch error As DatabaseExcecption
MessageBox("Error: " + error.ErrorMessage)
End Try
This code specifies a specific data source to use:
db.DataSource = "TestAccessDB"
Try
db.Connect
// proceed with database operations
Catch error As DatabaseExcecption
MessageBox("Error: " + error.ErrorMessage)
End Try
This code specifies the DSN information to connect to a Microsoft Access database:
db.DataSource = "Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\TestAccessDB.mdb;Uid=Admin;Pwd=;"
Try
db.Connect
// proceed with database operations
Catch error As DatabaseExcecption
MessageBox("Error: " + error.ErrorMessage)
End Try
See Also
Database Class, DatabaseColumn, DatabaseRow, ODBCPreparedStatement, RowSet classes.