public override void SetDataSourceNames(StiData data, StiDataSource dataSource) { base.SetDataSourceNames(data, dataSource); dataSource.Name = "PostgreSQLSource"; dataSource.Alias = "PostgreSQLSource"; }
public override void CreateConnectionInDataStore(StiDictionary dictionary, StiSqlDatabase database) { try { #region Remove all old data from datastore int index = 0; foreach (StiData data in dictionary.DataStore) { if (data.Name == database.Name) { dictionary.DataStore.RemoveAt(index); break; } index++; } #endregion var sqlConnection = new NpgsqlConnection(database.ConnectionString); var data2 = new StiData(database.Name, sqlConnection); data2.IsReportData = true; dictionary.DataStore.Add(data2); } catch (Exception e) { StiLogService.Write(this.GetType(), e); if (!StiOptions.Engine.HideExceptions) { throw; } } }
public override StiDataColumnsCollection GetColumnsFromData(StiData data, StiDataSource dataSource, CommandBehavior commandBehavior) { var dataColumns = new StiDataColumnsCollection(); var sqlSource = dataSource as StiSqlSource; try { if (sqlSource.SqlCommand != null && sqlSource.SqlCommand.Length > 0 && data.Data is NpgsqlConnection) { var connection = data.Data as NpgsqlConnection; OpenConnection(connection, data, dataSource.Dictionary); using (var dataAdapter = new NpgsqlDataAdapter(sqlSource.SqlCommand, connection)) using (DataTable dataTable = new DataTable()) { dataTable.TableName = sqlSource.Name; dataAdapter.SelectCommand.CommandTimeout = sqlSource.CommandTimeout; dataAdapter.SelectCommand.Prepare(); dataAdapter.Fill(dataTable); foreach (DataColumn column in dataTable.Columns) { dataColumns.Add(new StiDataColumn(column.ColumnName, column.Caption, column.DataType)); } } CloseConnection(data, connection); } } catch (Exception e) { StiLogService.Write(this.GetType(), e); if (!StiOptions.Engine.HideExceptions) { throw; } } return(dataColumns); }
public override StiDataColumnsCollection GetColumnsFromData(StiData data, StiDataSource dataSource) { StiDataColumnsCollection dataColumns = new StiDataColumnsCollection(); StiSqlSource sqlSource = dataSource as StiSqlSource; try { if (sqlSource.SqlCommand != null && sqlSource.SqlCommand.Length > 0) { if (data.Data is SqlCeConnection) { SqlCeConnection connection = data.Data as SqlCeConnection; OpenConnection(connection, data, dataSource.Dictionary); using (SqlCeDataAdapter dataAdapter = new SqlCeDataAdapter(sqlSource.SqlCommand, connection)) { DataTable dataTable = new DataTable(); dataTable.TableName = sqlSource.Name; dataAdapter.SelectCommand.Prepare(); dataAdapter.FillSchema(dataTable, SchemaType.Source); foreach (DataColumn column in dataTable.Columns) { dataColumns.Add(new StiDataColumn(column.ColumnName, column.Caption, column.DataType)); } dataTable.Dispose(); } CloseConnection(data, connection); } } } catch (Exception e) { StiLogService.Write(this.GetType(), e); } return dataColumns; }
public override void SetDataSourceNames(StiData data, StiDataSource dataSource) { base.SetDataSourceNames(data, dataSource); dataSource.Name = "SqlCeSource"; dataSource.Alias = "SqlCeSource"; }
public override void CreateConnectionInDataStore(StiDictionary dictionary, StiSqlDatabase database) { try { #region remove all old data from datastore int index = 0; foreach (StiData oldData in dictionary.DataStore) { if (oldData.Name == database.Name) { dictionary.DataStore.RemoveAt(index); break; } index++; } #endregion SqlCeConnection sqlConnection = new SqlCeConnection(database.ConnectionString); StiData data = new StiData(database.Name, sqlConnection); data.IsReportData = true; dictionary.DataStore.Add(data); } catch (Exception e) { if (!StiOptions.Engine.HideMessages) Stimulsoft.Base.StiExceptionProvider.Show(e); } }