Я понял, что проблема не в настройках прокси-сервера GPO, а в «Google Chrome» и в способе, которым он просто игнорирует файл PAC, предоставленный домашней сетью.
Так что я закончил разработку объекта групповой политики так, как мне хотелось:
[] Автоматическое определение настроек
[X] Использование автоматической настройки Скрипт
Адрес: http://10.20.30.44/krynn.pac
[] Использовать прокси-сервер ....
[] Обход ...
А потом я отредактировал этот чертов ярлык «Google Chrome» на каждом рабочем столе, чтобы добавить «--winhttp-proxy-resolver» в Chrome.
Насколько я знаю, Класс:: DBI не имеет хорошего способа сделать это, Как Вы отметили, update()
метод предназначен, чтобы быть названным на объекте, который был ранее загружен из базы данных.
Вы можете убеждать Класс:: DBI, чтобы сделать то, что Вы хотите, однако, с чем-то вроде этого:
# Make new "empty" object
my $o = My::CDBI::Object->new;
# Set the primary key column and discard the change
$o->set(your_pk_column => 123);
$o->discard_changes;
# Set your other columns
$o->set(a => 'foo', b => 'bar');
# Do the update
$o->update;
Если эта функция будет важна для Вас, и Вы не уже слишком далеки в свой проект, то у Вас определенно будет лучшая удача с одним из более нового Perl ORMs, таким как Rose:: DB:: Объект или DBIx:: Класс. DBIx:: Класс даже включает Класс:: слой совместимости DBI.
Один способ, которым я нашел, чтобы сделать, это должно переопределить класс итератора по умолчанию для Ваших объектов. Это позволяет Вам иметь набор отдельных объектов с методом обновления на наборе. Класс:: DBI предоставляет метод для этого:
__PACKAGE__->iterator_class('MyClass::CDBI::Iterator');
Это позволяет Вам затем делать update
метод в классе итератора, который может сохранить все объекты в наборе. Как таковой Ваш код может выглядеть примерно так:
my $collection = Object::DB->search_where({id => {'>=', 0}});
foreach my $obj ($collection->next()) {
$obj->a('bob');
$obj->b('tom');
}
$collection->update();
Который делает для некоторых вполне прилично самозарегистрированный код. Если бы Вы идете этим путем, я также предложил бы поместить is_changed
метод в использование в качестве обновления () происходит. Это поможет Вам сэкономить время, не обновляя неизменные строки.