среда, 16 декабря 2009 г.

Подключение к базе Firebird в .NET

Для того чтобы подключиться к базе Firebird нужно скачать Firebird .Net Provider.
http://www.ibphoenix.com/main.nfs?page=ibp_download_dotnet
При установке в Program Files появляется папка "firebirdclient 2.0", а в ней firebirdsql.data.firebirdclient.dll . Создаем в Visual Studio 2008 новый проект. В обозревателе решений на элементе "Ссылки" кликаем правой клавишей и выбираем "Добавить"
Добавляем firebirdsql.data.firebirdclient.dll . Пример кода:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FirebirdSql.Data.FirebirdClient;

namespace FirebirdTry
{
class FirebirdConnect
{
static void Main()
{
try
{
string ConnectionString = "UserID=nameuser;Password=password;" +
"Database=./db/namedatabase.gdb; " + "DataSource=namecomp;Charset=NONE;";

FbConnection addDetailsConnection = new FbConnection(ConnectionString);
addDetailsConnection.Open();
Console.WriteLine("Удачно");
Console.ReadKey();
FbCommand readCommand = new FbCommand("Select count(*) From
table",dDetailsConnection);
FbDataReader myreader = readCommand.ExecuteReader();
while (myreader.Read())
{
Console.WriteLine(myreader[0]);

}
myreader.Close(); // we are done with the reader
Console.ReadKey();
addDetailsConnection.Close();
}
catch (Exception x)
{
Console.WriteLine(x.Message);
Console.ReadKey();
}

}
}
}


Как видно на примере в отличие от типов пространства имен System.Data.OleDB:
OleDbConnection, OleDBCommand, OleDBDataReader, "OleDB" меняется на "Fb"

вторник, 15 декабря 2009 г.

Что купить принтер за 90$ или картридж за 70$?

Вот такая дилемма была в сервисном центре у парня. Сломался принтер Samsung. Марку не помню, но из самых дешевых. А в сервисе не берут по гарантии в ремонт. А у вас, говорят, картридж перезаправленный. Вот если бы был оригинальный, новый, то тогда бы взяли. Купить оригинальный картридж по цене чуть дешевле, чем принтер и отдать его в ремонт по гарантии - согласитесь, не логично. С другой стороны принтеру меньше года и он сломался - это называется "попал на деньги". Кстати, цены на заголовок я взял для примера по принтеру Sumsung ML-1640. У меня точно такой же случай был, когда я сдавал по гарантии HP4515. Просили оригинальный картридж. Пришлось доставать. Но теперь храню один новый картридж на время гарантии принтера, на всякий случай .

понедельник, 14 декабря 2009 г.

Новая прошивка для HP 4350 Сервис Мануал для HP 4515

Спешу поделиться новостями. Появилась новая прошивка для HP4350 08.017.01. http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareIndex.jsp?lang=en&cc=us&prodNameId=412171&prodTypeId=18972&prodSeriesId=412160&swEnvOID=228&taskId=135&swLang=33
В нем два фикса:
1. Random 49.4C02 or 49.4C06 errors may occur with firmware revisions 08.015.0 or 08.016.2, particularly when using stored jobs
2.In rare cases, postscript files may not print correctly.
Меня очень серьезно достает ошибка 49.4C02. Сейчас стоит прошивка 08.014. Посмотрим, поможет ли.

И еще одно, делюсь ссылкой на сервис мануал (Service manual ) для HP 4515:
http://www.scribd.com/doc/15089448/HP40104015-Service-Manual

Парочка нехороших слов в адрес Xerox Workcentre 232

Для начала ссылка на его описание:
http://www.office.xerox.com/multifunction-printer/multifunction-over-30ppm/workcentre-232-238/enus.html
Что стало причиной моего недовольства этим МФУ? Понимаете, очень удивило, что аппарат слишком часто ломается. Судите сами. В гарантийный период WC232 не захотел двухстороннюю печать выполнять. Вернее выполнял , но с сильным стуком. Инженер из сервиса поправил. Потом все внутренности засыпались девелопером. Вызывали инженера. Потребовалось замена какого-то узла, хорошо что по гарантии.
Через год эксплуатации WC 232 ( на счетчике к тому времени было около 600 тыс.) получили новую проблему. При старте системы сообщение "Diagnostics are active. The System is not available". Копир то работает, то не работает со стекла и с автоподатчика. Задания по сети на печать попадают в очередь со статусом отложено из-за диагностики. В ручную переводишь на печать - печатает. Через какое то время копир просто перестал загружаться. Сервисный инженер ставит "диагноз" - неисправен модуль памяти программно-информационный XEROX WCP 238 (Part Number: 960K58260). Замена модуля не принесла долгожданных результатов. Следующее предположение - неисправна плата управления автоподатчиком WCP238/245 (Part Number: 960K20650). Инженер делал предположения не на пустом месте. А вполне рассуждая логически . А потом свои предположения проверял на другом работающем МФУ. То есть брал под мышку плату и отправлялся в другую организацию к работающему копиру. Очень интересно, что бы было, если бы под рукой не оказалось однотипного устройства. Ну вот "всего" 23000 руб заплачено и WC 232 в строю.
 Есть претензии к выходному лотку. Не складываются в стопочку листы после печати. Берите офисный финишер вместо выходного лотка, иначе будете стоять рядом и укладывать сами.
Итак копир прошел всего 600 тыс, а уже "летят" узлы и модули, а заявлена нагрузка 125 тыс копий в месяц. Верится с трудом. Кстати, по рассказам сервисмэна, на брате-близнеце (это к которому он бегал пробовать) поменяли уже, все что могли.

понедельник, 7 декабря 2009 г.

Работяга HP4300 6200000 страниц отпахал

Да есть такое дело. Это как бы моя гордость. Может кто-нибудь похвастаться таким пробегом? Итак, достижение состоит в том, что принтер LaserJet HP 4300 отпечатал более 6200000 копий и еще работает, как часы.. И что интересно, в процессе не потребовалось ни какого капитального ремонта. Все что было заменено: колебательный узел (несколько раз) и узел регистрации (однажды). Я думаю секрет прост. Так как самым большим риском для принтера является некачественно заправленные картриджи, которые засыпают принтер тонером, почаще пылесосить было бы очень и очень полезно. Я эту процедуру провожу при смене термоузла. Обычно я заказываю ремонтный комплект Mantenance Kit for HP4300 (Q2437) вместе с одним Transfer roller RM1-0699 и 6-ю Paper feed/seperation roller RM1-0037. Transfer roller меняю одновременно с термоузлом. Эх жалко что, придется менять его на новые 4515, а так хотелось бы побить рекорд в 7 милллионов, а может даже и 8.

вторник, 24 ноября 2009 г.

Отключаем USB флэшки

Есть требование, запретить подключение USB флэшек на компьютерах сотрудников. В принципе разумно. Я приветствую это, потому что уменьшает риск заражения компьютеров. Вот только соблюсти это правило надо так, чтобы огромное количество USB устройств остались работоспособными. Конечно на компьютерах, где нет USB устройств, просто иду в BIOS и отключаю там. Есть одно маленькое, "но". На компах с материнкой ASUS P5DL2-VM при отключении USB в BIOS системник повисает с сообщением :

Auto-detecting USB Mass Storage Devices..
00 UBS Mass Storage Devices found and configured.
UBS Device Over Current Status Detected!!
System Will Shut Down After 15 Seconds

И на этом выключается. В Setup BIOS войти тоже нельзя. Единственный выход - сброс CMOS. Проблема существует только с этой материнской платой. Есть еще системники на ASUS P5DL2-VM SE . Там все в порядке. Может кто-нибудь подсказать, в чем тут дело?

А вот здесь нашел решение проблемы с отключением флэшек, при этом работают другие USB устройства: kb823732

Смысл в том, чтобы
1. Установить параметр в реестре "Start" в 4. Этот параметр находиться по пути:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsbStor
2.Запретить средствами безопасности файловой системой доступ к файлам USBSTOR.INF и USBSTOR.PNF
 Кстати этот метод отключения не помешает работе секретным ключам на флэшках.

А теперь как это сделать в домене .
 Вот некоторые полезные ссылки :
kb555324
http://gallery.technet.microsoft.com/ScriptCenter/ru-RU/462d77b8-b712-4840-80e9-bc5378eb3680?persist=True
http://diaryproducts.net/about/operating_systems/windows/disable_usb_sticks

Создаем файл с расширением adm. Допустим remove_usb.adm.  Я добавил этот файл в административные шаблоны с помощью Group Policy Management Console (GPMC).  А вот подробная инструкция http://www.petri.co.il/adding_new_administrative_templates_to_gpo.htm
И вот когда мы получили новую групповую политику, поставим значение:
Административные шаблоны -
>Custom Policy settings-> RestrictDrives ->Disable USB - "Enabled". И параметр Disable USB Port - "Enabled".
 Еще кроме того, что  я применил эту групповую политику ко всем компьютерам домена , сделал исключение для администраторов с помощью фильтра WMI. Фильтр WMI находиться в свойствах групповой политики. Фильтр выгдядит так:
SELECT * FROM Win32_ComputerSystem WHERE Name <> 'SYSADMIN' AND Name <> 'ADMINBD'.
Так как мне нет необходимости использовать флэшку на компьютерах с открытым USB портом,
я через групповую политику выставил запрет группе "Все" на файлы USBSTOR.INF и USBSTOR.PNF. При этом на компьютере с этими двумя ограничениями при подсоединении  флэшки отображается окно "У вас нет прав на подключение этого устройства".
И все-таки если загрузить компьютер с вставленной флэшкой то она все равно подключиться потому что групповая политика накладывается уже после как отработала служба USBSTOR. Здесь видимо только локально запрещать надобно.

четверг, 22 октября 2009 г.

Фильтр получателей писем в Postfix

Возникла задача ограничить только несколькими получателями электронных почтовых сообщений . В качестве почтового агента у нас используется postfix. Итак, вношу строчки такого вида в main.cf:

smtpd_recipient_restrictions =
check_recipient_access = hash:/etc/postfix/access
reject,

в файл access пишем адреса или шаблоны доменов, на которые возможна отсылка почты.

microsoft.com OK
apr@dk.com OK

После этого выполняем команды:
#postmap hash:/etc/postfix/access
#service postfix restart

Так вот, существует несколько маленьких нюансов, на которые я натолкнулся. Во первых, оказалось, что в файле (в моем случае "access") адреса должны начинаться без пробелов с первой колонки. Узнать об этом было очень важно и было не просто , потому что в самом разгаре работа, а у меня не отсылаются письма. Здесь и Инет не поможет, просто перебираешь все варианты. Во вторых, интересный момент всплыл, оказывается, как выглядит шаблон домена зависит от версии Postfix. У меня два почтовых сервера на LINUX. На одном версия Postfix 1.1.11 на другом 2.2.10. Кстати для информации, версии postfix можно узнать, заглянув в файл main.cf и найдя ключик "mail_version", или выполнив команду:

#postconf -d grep mail_version

Так вот, чтобы, допустим, указать домен и все поддомены в 1.1.11, надо указать строчку вида:

com OK

а в версии 2.2.10:

.com OK

Может быть это пригодиться кому нибудь и не придеться тестировать как мне.
Если вам захочется поставить фильтр еще и на отправителей писем, добавте такие строчки в main.cf:

smtpd_sender_restrictions =
check_sender_access hash:/etc/postfix/sender

в файл sender впишите от кого нужно принимать сообщения и от кого запрещено:

gmail.com OK
.com REJECT

Учтите, что эта строчка должна быть выше smtpd_recipient_restrictions.