StiWebDesigner и MySql

Обсуждение Stimulsoft Reports.WEB
Ответить
necros
Сообщения: 15
Зарегистрирован: 18 мар 2011, 17:29
Откуда: Russia, Tomsk

StiWebDesigner и MySql

Сообщение necros »

Доброго времени суток всем.
Подскажите новичку, хотябы линками, как заставить StiWebDesigner получить данные от MySql сервера?
Я нашел тут на форуме MySQLDatabase.zip, собрал (правда без подписи ибо Stimulsoft.snk в архиве отсутствует), включил в проект,
далее пытаюсь поступить так:

Код: Выделить всё

StiConfig.Services.Add(new Stimulsoft.Report.Dictionary.StiMySqlAdapterService());
StiConfig.Services.Add(new Stimulsoft.Report.Dictionary.StiMySqlDatabase());
StiReport report = new StiReport();
StiMySqlDatabase repDataDB = new StiMySqlDatabase(DataBaseName, ConnectionString);
report.Dictionary.Databases.Add(repDataDB);
StiWebDesignerControl.Design(report);
загружается редактор, в Dictionary у него показывает

Код: Выделить всё

DataSources
  DataBase [MySql Connection]
пытаюсь создать "New DataSource..." -> "Data from DataSet, DataTables"
жму обзор в "Name In Source", а там пусто.

Я чего-то не понимаю?

использую MySql Connector Net 6.3.6 (для сборки MySQLDatabase также)

ConnectionString рабочий 100% (взял его из web.config, по нему же в проекте данные из той же БД получаю\пишу нормально)
Aleksey
Сообщения: 2906
Зарегистрирован: 22 апр 2010, 06:57

StiWebDesigner и MySql

Сообщение Aleksey »

Здравствуйте,

Проблему воспроизвели.
Решение будет доступно в завтрашнем предрелизном билде.

Спасибо.
necros
Сообщения: 15
Зарегистрирован: 18 мар 2011, 17:29
Откуда: Russia, Tomsk

StiWebDesigner и MySql

Сообщение necros »

Aleksey писал(а):Здравствуйте,

Проблему воспроизвели.
Решение будет доступно в завтрашнем предрелизном билде.

Спасибо.
Здравствуйте,

Предрелизный билд, это вы имеете ввиду SW_2011.03.22.zip ?
Во-первых почему-то в этом архиве нет списка изменений от 22.03. последний в списке 16 Mar 2011/
Во-вторых я скачал этот архив, удалил из GAC старые сборки (2010.3), заменил файлы в папке Program Files\Stimulsoft Reports.Web 2010.3\Bin\ на те, что в архиве,
добавил в GAC (2011.1.923.0), пересобрал Stimulsoft.Report.MySqlDatabase.ConnectorNet с новыми сборками, проверил версии сборок в списке ссылок проекта, очистил проект, собрал,
запустил.

и ничего не изменилось... также в "Name In Source" пустота....
Aleksey
Сообщения: 2906
Зарегистрирован: 22 апр 2010, 06:57

StiWebDesigner и MySql

Сообщение Aleksey »

Здравствуйте,

Проверили последний билд. Все работает корректно.
При добавлении нового источника данных, вам необходимо выбирать "Data from MySql Connection".

Спасибо.
Вложения
Screen.png
Screen.png (117.04 КБ) 4554 просмотра
necros
Сообщения: 15
Зарегистрирован: 18 мар 2011, 17:29
Откуда: Russia, Tomsk

StiWebDesigner и MySql

Сообщение necros »

Aleksey писал(а):Здравствуйте,

Проверили последний билд. Все работает корректно.
При добавлении нового источника данных, вам необходимо выбирать "Data from MySql Connection".

Спасибо.
Выбираю "Data from MySql Connection"- "Name in Source" автоматически прописывается верно,
вписываю sql комманду ("select * from data", в БД есть таблица data с несколькими полями и тестовым набором данных в них)
жму "Retrieve Columns", пробегает индикатор выполнения процесса, и ничего не меняется в форме.

если для сравнения запускаю Designer.exe из пакета, создаю соединение с той же строкой, жму "новый источник данных" он выдает окно без выбра типа источника (так что я не знаю какой точно там тип)
в этом окне также ввожу sql запрос "select * from data" жму "получить все колонки" - колонки заполняются правильно.

Аватара пользователя
Vladimir
Сообщения: 415
Зарегистрирован: 06 авг 2008, 09:48
Откуда: Earth

StiWebDesigner и MySql

Сообщение Vladimir »

Здравствуйте,

Проблема решена. Обновление будет доступно в официальном релизе 2011.1 на следующей неделе.

Спасибо.
necros
Сообщения: 15
Зарегистрирован: 18 мар 2011, 17:29
Откуда: Russia, Tomsk

StiWebDesigner и MySql

Сообщение necros »

Vladimir писал(а):Здравствуйте,

Проблема решена. Обновление будет доступно в официальном релизе 2011.1 на следующей неделе.

Спасибо.
Неделя кончилась почти, как там с релизом?
Andrew
Сообщения: 586
Зарегистрирован: 09 июн 2006, 12:22

StiWebDesigner и MySql

Сообщение Andrew »

Здравствуйте,

Да. Заминочка небольшая вышла. Проводили дополнительные тестирования продуктов. Просим прощения за неудобства. Ожидаем появления продуктов на сайте в воскресенье-понедельник.

Спасибо.
necros
Сообщения: 15
Зарегистрирован: 18 мар 2011, 17:29
Откуда: Russia, Tomsk

StiWebDesigner и MySql

Сообщение necros »

Здравствуйте,

подскажите пожалуйста еще такой момент:
как я могу програмно корректно заполнить список столбцов у источника данных?

сейчас я перед выводом редактора задаю соединение и источник данных для каждой таблицы

Код: Выделить всё

 StiReport report = new StiReport();

report.Dictionary.Databases.Add(new StiMySqlDatabase(DataBaseName, ConnectionString));

foreach (String tableName in tables)
{
   report.Dictionary.DataSources.Add(new StiMySqlSource(DataBaseName, tableName, tableName, "SELECT * FROM " + tableName, true, false, 60));
}
У источника данных объявлена функция FillColumns(), но в документации описания у неё нет, и при попытке её использовать

Код: Выделить всё

foreach (String tableName in tables)
{
   StiMySqlSource source= new StiMySqlSource(DataBaseName, tableName, tableName, "SELECT * FROM " + tableName, true, false, 60)
   report.Dictionary.DataSources.Add(source);
   source.FillColumns(); //если поставить FillColumns перед строкой добавления в словарь- выдает исключение "ссылка не указывает на объект"... както так
}
ничего не меняется. В редакторе у соединения DataBaseName есть источники, в свойствах у них задан sql запрос, но столбцов нет.

я попытался получить столбцы из БД для каждой таблицы

Код: Выделить всё

foreach (String tableName in tables)
{
   StiMySqlSource source= new StiMySqlSource(DataBaseName, tableName, tableName, "SELECT * FROM " + tableName, true, false, 60)
   report.Dictionary.DataSources.Add(source);
  
    MySqlDataAdapter adapter = new MySqlDataAdapter("SELECT * FROM " + tableName, con);
    DataTable table = new DataTable();
    adapter.Fill(table);
    foreach (DataColumn tableColumn in table.Columns)
    {
         source.Columns.Add(new StiDataColumn(tableName, tableColumn.ColumnName, tableColumn.ColumnName, tableColumn.DataType));
    }
}
в редакторе у всех таблиц столбцы заполнены, но тип столбца везде "string"... тоесть tableColumn.DataType всегда "string".

при этом если я в редакторе открываю свойства источника данных, жму Retrieve Columns он заполняет всё правильно...
как мне получить такой же результат до вывода редактора (чтоб не приходилось для каждой таблицы лезть в свойства и жать Retrieve Columns)?

Aleksey
Сообщения: 2906
Зарегистрирован: 22 апр 2010, 06:57

StiWebDesigner и MySql

Сообщение Aleksey »

Здравствуйте,

Попробуйте использовать следующий код для заполнения колонок:
Add Columns:

Код: Выделить всё

foreach (DataColumn col in table.Columns)
{
     source.Columns.Add(col.ColumnName, col.DataType);
}
Сообщите, если понадобится дополнительная помощь.
Спасибо.
Ответить