/// <summary> /// Populate All tables in the 'DataDictionary' DataSet with data extracted from the specified project PTU configuration database and the specified engineering /// data dictionary database and then write this data to the specified XML file. /// </summary> /// <param name="oleDbPTUConfigurationConnection">The 'OleDbConnection' connection to a valid Microsoft Access project PTU configuration database.</param> /// <param name="oleDbConnection">The 'OleDbConnection' connection to a valid Microsoft Access engineering data dictionary database (.e1).</param> /// <param name="fullFilename">The fully qualified filename of the output XML file.</param> public static void WriteDataSetToXml(OleDbConnection oleDbPTUConfigurationConnection, OleDbConnection oleDbConnection, string fullFilename) { // Instantiate an empty DataSet into which the data is to be loaded. DataDictionary dataDictionary = new DataDictionary(); // -------------------------------------------------------------------------------------------------------- // Instantiate and fill those tables that are automatically created by the data dictionary builder utility. // -------------------------------------------------------------------------------------------------------- ANNBITSTableAdapter annBitsTableAdapter = new ANNBITSTableAdapter(); annBitsTableAdapter.Connection = oleDbConnection; annBitsTableAdapter.Fill(dataDictionary.ANNBITS); ANNIDSTableAdapter annIdsTableAdapter = new ANNIDSTableAdapter(); annIdsTableAdapter.Connection = oleDbConnection; annIdsTableAdapter.Fill(dataDictionary.ANNIDS); ANNLIGHTTableAdapter annLightTableAdapter = new ANNLIGHTTableAdapter(); annLightTableAdapter.Connection = oleDbConnection; annLightTableAdapter.Fill(dataDictionary.ANNLIGHT); ANNLISTTableAdapter annListTableAdapter = new ANNLISTTableAdapter(); annListTableAdapter.Connection = oleDbConnection; annListTableAdapter.Fill(dataDictionary.ANNLIST); ANNUNENUMBITTableAdapter annEnumBitTableAdapter = new ANNUNENUMBITTableAdapter(); annEnumBitTableAdapter.Connection = oleDbConnection; annEnumBitTableAdapter.Fill(dataDictionary.ANNUNENUMBIT); EVENTENUMBITTableAdapter eventEnumBitTableAdapter = new EVENTENUMBITTableAdapter(); eventEnumBitTableAdapter.Connection = oleDbConnection; eventEnumBitTableAdapter.Fill(dataDictionary.EVENTENUMBIT); EVENTSTableAdapter eventsTableAdapter = new EVENTSTableAdapter(); eventsTableAdapter.Connection = oleDbConnection; eventsTableAdapter.Fill(dataDictionary.EVENTS); EVENTVARIABLESTableAdapter eventVariablesTableAdapter = new EVENTVARIABLESTableAdapter(); eventVariablesTableAdapter.Connection = oleDbConnection; eventVariablesTableAdapter.Fill(dataDictionary.EVENTVARIABLES); FILEINFOTableAdapter fileInfoTableAdapter = new FILEINFOTableAdapter(); fileInfoTableAdapter.Connection = oleDbConnection; fileInfoTableAdapter.Fill(dataDictionary.FILEINFO); GROUPLISTTableAdapter groupListTableAdapter = new GROUPLISTTableAdapter(); groupListTableAdapter.Connection = oleDbConnection; groupListTableAdapter.Fill(dataDictionary.GROUPLIST); GROUPLISTIDSTableAdapter groupListIdsTableAdapter = new GROUPLISTIDSTableAdapter(); groupListIdsTableAdapter.Connection = oleDbConnection; groupListIdsTableAdapter.Fill(dataDictionary.GROUPLISTIDS); MACROCMDSTableAdapter macroCmdsTableAdapter = new MACROCMDSTableAdapter(); macroCmdsTableAdapter.Connection = oleDbConnection; macroCmdsTableAdapter.Fill(dataDictionary.MACROCMDS); MACROSTableAdapter macrosTableAdapter = new MACROSTableAdapter(); macrosTableAdapter.Connection = oleDbConnection; macrosTableAdapter.Fill(dataDictionary.MACROS); MAINTENANCETableAdapter maintenanceTableAdapter = new MAINTENANCETableAdapter(); maintenanceTableAdapter.Connection = oleDbConnection; maintenanceTableAdapter.Fill(dataDictionary.MAINTENANCE); SELFTESTTableAdapter selfTestTableAdapter = new SELFTESTTableAdapter(); selfTestTableAdapter.Connection = oleDbConnection; selfTestTableAdapter.Fill(dataDictionary.SELFTEST); SELFTESTENUMBITTableAdapter selfTestEnumBitTableAdapter = new SELFTESTENUMBITTableAdapter(); selfTestEnumBitTableAdapter.Connection = oleDbConnection; selfTestEnumBitTableAdapter.Fill(dataDictionary.SELFTESTENUMBIT); SELFTESTERRMESSTableAdapter selfTestTerrMessTableAdapter = new SELFTESTERRMESSTableAdapter(); selfTestTerrMessTableAdapter.Connection = oleDbConnection; selfTestTerrMessTableAdapter.Fill(dataDictionary.SELFTESTERRMESS); SELFTESTIDSTableAdapter selfTestIdsTableAdapter = new SELFTESTIDSTableAdapter(); selfTestIdsTableAdapter.Connection = oleDbConnection; selfTestIdsTableAdapter.Fill(dataDictionary.SELFTESTIDS); SELFTESTVARIABLESTableAdapter selfTestVariablesTableAdapter = new SELFTESTVARIABLESTableAdapter(); selfTestVariablesTableAdapter.Connection = oleDbConnection; selfTestVariablesTableAdapter.Fill(dataDictionary.SELFTESTVARIABLES); STRUCTTableAdapter structTableAdapter = new STRUCTTableAdapter(); structTableAdapter.Connection = oleDbConnection; structTableAdapter.Fill(dataDictionary.STRUCT); TASKSTableAdapter tasksTableAdapter = new TASKSTableAdapter(); tasksTableAdapter.Connection = oleDbConnection; tasksTableAdapter.Fill(dataDictionary.TASKS); TESTLISTTableAdapter testListTableAdapter = new TESTLISTTableAdapter(); testListTableAdapter.Connection = oleDbConnection; testListTableAdapter.Fill(dataDictionary.TESTLIST); TESTLISTIDSTableAdapter testListIdsTableAdapter = new TESTLISTIDSTableAdapter(); testListIdsTableAdapter.Connection = oleDbConnection; testListIdsTableAdapter.Fill(dataDictionary.TESTLISTIDS); TESTMESSAGESTableAdapter testMessagesTableAdapter = new TESTMESSAGESTableAdapter(); testMessagesTableAdapter.Connection = oleDbConnection; testMessagesTableAdapter.Fill(dataDictionary.TESTMESSAGES); WATCHENUMBITTableAdapter watchEnumBitTableAdapter = new WATCHENUMBITTableAdapter(); watchEnumBitTableAdapter.Connection = oleDbConnection; watchEnumBitTableAdapter.Fill(dataDictionary.WATCHENUMBIT); WATCHVARIABLESTableAdapter watchVariablesTableAdapter = new WATCHVARIABLESTableAdapter(); watchVariablesTableAdapter.Connection = oleDbConnection; watchVariablesTableAdapter.Fill(dataDictionary.WATCHVARIABLES); // ---------------------------------------------------------------------------------------------------------------------- // Include try/catch blocks on those tables that are not automatically created using the data dictionary builder utility. // If an OleDbException is thrown, the XML generation process will be terminated and the user will be informed which table // threw the exception. These tables are populated from the project PTU configuration database, <project-id>.PTU Configuration.mdb, // rather than the engineering data dictionary database generated from the Database Builder Utility. // ---------------------------------------------------------------------------------------------------------------------- // -------------------------------------------------------------------------------------------------------- // Instantiate and fill those tables that are derived from the project PTU configuration database. // -------------------------------------------------------------------------------------------------------- try { CONFIGUREPTUTableAdapter configurePTUTableAdapter = new CONFIGUREPTUTableAdapter(); configurePTUTableAdapter.Connection = oleDbPTUConfigurationConnection; configurePTUTableAdapter.Fill(dataDictionary.CONFIGUREPTU); } catch (OleDbException) { throw new Exception(string.Format(Resources.MBTTableColumnMissing, "CONFIGUREPTU")); } try { DataStreamTypesTableAdapter dataStreamTypesTableAdapter = new DataStreamTypesTableAdapter(); dataStreamTypesTableAdapter.Connection = oleDbPTUConfigurationConnection; dataStreamTypesTableAdapter.Fill(dataDictionary.DataStreamTypes); } catch (OleDbException) { throw new Exception(string.Format(Resources.MBTTableColumnMissing, "DataStreamTypes")); } try { // TODO - DataDictionary.WriteDataSetToXml(). Include code to create and fill a standard LOGSTableAdapter if an exception is thrown. LOGSTableAdapter logsTableAdapter = new LOGSTableAdapter(); logsTableAdapter.Connection = oleDbPTUConfigurationConnection; logsTableAdapter.Fill(dataDictionary.LOGS); } catch (OleDbException) { throw new Exception(string.Format(Resources.MBTTableColumnMissing, "LOGS")); } try { SecurityTableAdapter securityTableAdapter = new SecurityTableAdapter(); securityTableAdapter.Connection = oleDbPTUConfigurationConnection; securityTableAdapter.Fill(dataDictionary.Security); } catch (OleDbException) { throw new Exception(string.Format(Resources.MBTTableColumnMissing, "Security")); } try { URITableAdapter uRITableAdapter = new URITableAdapter(); uRITableAdapter.Connection = oleDbPTUConfigurationConnection; uRITableAdapter.Fill(dataDictionary.URI); } catch (OleDbException) { throw new Exception(string.Format(Resources.MBTTableColumnMissing, "URI")); } // Write the DataSet containing the data to the specified XML file. dataDictionary.WriteXml(fullFilename, XmlWriteMode.WriteSchema); }