![]() |
#13 |
Участник
|
Спасибо всем участникам обсуждения за дельные предложения. Получилось достучаться к БД MySQL по ODBC через .Net компоненту:
X++: static public void Main(Args _args) { System.Exception e; System.Data.Odbc.OdbcConnection objConn; System.Data.Odbc.OdbcCommand cmdSelect; System.Data.Odbc.OdbcDataReader reader; InteropPermission perm; str exceptionStr, connectStr; ; connectStr = "Driver={MySQL ODBC 3.51 Driver};Server=myserver;Database=mydatabase;User=root;Password=123;Option=3;"; try { perm = new InteropPermission(InteropKind::ClrInterop); if (perm == null) { throw error("Error with file permissions"); } perm.assert(); objConn = new System.Data.Odbc.OdbcConnection(connectStr); objConn.Open(); cmdSelect = objConn.CreateCommand(); cmdSelect.set_CommandText("SELECT * FROM table"); reader = cmdSelect.ExecuteReader(); while (reader.Read()) { info(reader.GetString(0)); } } catch(Exception::CLRError) { CodeAccessPermission::revertAssert(); perm = new InteropPermission(InteropKind::ClrInterop); if (perm == null) { return; } perm.assert(); e = ClrInterop::getLastException(); CodeAccessPermission::revertAssert(); while( e ) { exceptionStr += e.get_Message(); e = e.get_InnerException(); } info(exceptionStr); } catch { error("An Exception has occurred"); } if(objConn) objConn.Close(); } Оба драйвера версии 3.51.30 (32-битный и 64-битный) пока молчат. Будут результаты - отпишусь. |
|
|
|