/// <summary> /// Returns a connection from the connection pool. /// </summary> /// <param></param> /// <param name="connectionInfo"></param> /// <returns></returns> public static MapiConnection GetConnectionhandle(MonetDbConnectionInfo connectionInfo) { var connection = MapiLib.MapiConnect(connectionInfo.Host, connectionInfo.GetPort(), UserName, Password, Language, connectionInfo.Database); DieConnectionError(connection); return(connection); }
/// <summary> /// /// </summary> /// <param name="connection"></param> /// <param name="query"></param> /// <returns></returns> /// <exception cref="MonetDbException"></exception> public static MapiHdl GetQueryHandle(MapiConnection connection, string query) { var queryHandle = MapiLib.MapiQuery(connection, query); DieQueryError(connection, queryHandle); return(queryHandle); }
/// <summary> /// /// </summary> /// <param name="connectionHandle"></param> /// <exception cref="MonetDbException"></exception> public static void DieConnectionError(MapiConnection connectionHandle) { if (connectionHandle.Ptr == IntPtr.Zero || MapiLib.MapiError(connectionHandle).Ptr != IntPtr.Zero) { throw new MonetDbException(MapiLib.MapiErrorString(connectionHandle)); } }
/// <summary> /// /// </summary> /// <param name="connection"></param> public static void CloseConnectionHandle(MapiConnection connection) { MapiLib.MapiDisconnect(connection); MapiLib.MapiDestroy(connection); }
/// <summary> /// /// </summary> /// <param name="queryHandle"></param> public static void CloseQueryHandle(MapiHdl queryHandle) { MapiLib.MapiFinish(queryHandle); MapiLib.MapiCloseHandle(queryHandle); }