понедельник, 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 пакетов.

вторник, 21 декабря 2010 г.

Автоматический вход в Team Exporer

Если ваша учетная запись отличается от учетной записи в Team Foundation Server, то придется каждый раз при открытии проекта вводить имя пользователя и пароль. Этого можно избежать, если заранее сохранить учетные данные в Windows, например, как описано здесь

http://social.msdn.microsoft.com/Forums/en-US/vstsstart/thread/73fee0bd-4a97-44e8-b68f-8b543db59515

В русском Windows 7 открываем панель управления -> Учетные записи пользователей -> Администрирование учетных записей. Далее нажимаем "Добавить учетные данные Windows". В поле "Адрес в Интернете или сети:" вводим адрес сервера TFS, в поля "Имя пользователя" и "Пароль" данные учетной записи TFS. Незабываем нажать ОК.

пятница, 3 декабря 2010 г.

Ошибка eGroupWare "Ваш сеанс не может быть удостоверен"

Лечение описано здесь http://turtle-bazon.blogspot.com/2010/07/solved-egroupware-lucid.html

Надо в файле /etc/php5/apache2/php.ini

request_order = "GP"

Заменить на:

request_order = "GPCS"

пятница, 19 ноября 2010 г.

Ошибка .NET Runtime version 2.0.50727.3615 - Fatal Execution Engine Error

При запуске Visual Studio 2008 SP1 возникает ошибка.

Тип события: Ошибка
Источник события: .NET Runtime
Категория события: Отсутствует
Код события: 1023
Дата: 19.11.2010
Время: 13:10:17
Пользователь: Н/Д
Компьютер: WWW01
Описание:
.NET Runtime version 2.0.50727.3615 - Fatal Execution Engine Error (7A0979AE) (80131506)



Для исправления необходимо установить обновление KB981574. Скачать его можно тут

http://thehotfixshare.net/board/index.php?autocom=downloads&showfile=12442

среда, 27 октября 2010 г.

Русские буквы при работе с консольными приложениями Oracle

Если не хочется переопределять ключ NLS_LANG в реестре, можно перед запуском приложения вполниь команду

set nls_lang=russian_cis.ru8pc866