четверг, 22 сентября 2011 г.

Создание типизированного набора данных (Typed DataSet) для XML/XSD в VS 2008

Часть возникает задача привязки элементов формы к данным, размещенных в XML файле. Самым оптимальным способом является создание типизированного набора данных (Typed Dataset). Для его создания потребуется создать XSD схему для XML файла с данными.
Откройте XML файл с данными
В главном меню VC 2008 выберите пункт меню XML -> Create Schema
Сохраните полученный XSD файл
Данная схема представляет собой обычный файл без возможности привязки данных. Можно дополнить данный XSD файл элементами для связывания данных, например, описанным здесь методом.
В окне Solution Explorer выбираем XSD файл, но не открываем его
В свойстве Build Action выбираем Content
В свойство Custom Tool вписываем MSDataSetGenerator
После сохранения схема XSD появится в окне Data Sources, соответственно можно связывать и создавать связанные с данными элементы формы простым перетаскиванием.

Руссификация консоли Ubuntu

sudo apt-get install console-cyrillic

http://linux007.livejournal.com/26295.html

понедельник, 20 июня 2011 г.

Использование enum в NHibernate

Есть задача: использовать типы данных enum для связывания с данными колонки таблицы с использованием NHibernate.

Создаем перечисление:

public enum ExportImportEnum : byte {
Import = 1,
Export = 2

}

Реализуем класс для получения данных. Он должен быть унаследован от NHibernate.Type.EnumStringType .

public class ExportImportEnumType : EnumStringType <ExportImportEnum>
{
public ExportImportEnumType()
: base ()
{

}
public override object GetValue(object code)
{
return (ExportImportEnum)code == ExportImportEnum.Import ? "I" : "E";
}
}

Перегрузка метода object GetValue(object code) позволяет возвращать в БД значения в зависимости от введеных данных.
Перегружаем также метод GetInstatce(object code) чтобы реализовать обратное приведение, из БД в объект.

public override object GetInstance(object code)
{

return (string)code == "I" ? ExportImportEnum.Import : ExportImportEnum.Export;
}

Настраиваем связывание.

Map(x => x.EI, "EI").Length(1).CustomType<ExportImportEnumType>();

понедельник, 4 апреля 2011 г.

Ошибка rsAccessDenied MS SQL 2008 R2

После установки MS SQL 2008 Reporting Services R2 на Windows 7 x64, при попытке зайти на сайт отчетов или администрирования возникает ошибка rsAccessDenied. "Вылечить" можно правкой ключа в реестре Windows, добавить ключ


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Systemhttp://www.blogger.com/img/blank.gif

dword:00000001


Как описано здесь http://stackoverflow.com/questions/4484902/rsaccessdenied-report-server

суббота, 8 января 2011 г.

Выбор бесплатного средства развертывания для приложений Windows

Для сравнения основных средств развертывания можно использовать следующую статью на MSDN. http://msdn.microsoft.com/ru-ru/library/ee721500.aspx

Отмечу основные моменты:
Стандартные проекты Visual Studio
Самый простой способ развертывания приложения. Основной недостаток, отсутствие поддержки сборки через MSBuild, т.е. если есть средства автоматической сборки, типа TFS build, то собрать инсталляционный пакет будет сложно.

InstallShield 2010 Limited Edition
Перед созданием проекта необходимо будет скачать данный продукт с сайта производителя, размер ~ 62 Мб. Является усеченной версией коммерческого продукта. Урезания коснулись веб-сайтов и прав пользователей. Невозможно создать свои собственные диалоговые окна.
Поддерживает MSBuild.

Windows Installer XML Toolset (WiX)
Наиболее полное в плане функциональности средство. Основоной недостаток, отсутствие пользователького интерфейса для создания MSI пакетов.