суббота, 18 октября 2014 г.

The form bound to the class does not have a valid binding for the root component

Ошибка возникает при попытке сгенерировать в IntelliJ IDEA метод main.
 Чтобы поправить надо перейти в дизайнер формы и у корневого компонента (JPanel) поставить имя. После этого вновь пробуем сгенерировать метод. Решение взято отсюда.

пятница, 4 июля 2014 г.

Oracle перенос таблиц в другое табличное пространство

begin
  for tbl in (select t.table_name
                from all_tables t
               where t.owner = :usr
                 and t.tablespace_name = :oldtbs)
  loop
    dbms_output.put_line('ALTER TABLE ' || :usr || '.' || tbl.table_name ||
                         ' MOVE TABLESPACE ' || :newtbs || ';');
    -- индексы
    for indx in (select i.owner || '.' || i.index_name as nm
                   from all_indexes i
                  where i.tablespace_name = :oldtbs
                    and i.table_owner = :usr
                    and i.table_name = tbl.table_name)
    loop
      dbms_output.put_line('ALTER INDEX ' || indx.nm ||
                           ' REBUILD TABLESPACE ' || :newtbs || ';');
    end loop;
  end loop;
end;


где переменные означают следующее:
  • :oldtbs - старое табличное пространство
  • :usr - пользователь чьи таблицы вы собираетесь переносить
  • :newtbs - новое табличное пространство
Данный скрипт генерирует скрипты на перенос всех таблиц и индексов указанного пользователя из oldtbs в newtbs
P.S. никогда не создавайте пользователя в табличном пространстве SYSTEM.

среда, 12 марта 2014 г.

fgetcsv проблемы с кириллицей

При чтении csv  с кириллицей возникла проблема с кодировкой, текст просто не отображался.
В сети нашел несколько вариантов, но завести с ходу удалось только 1

function convert($str)
{
     return iconv("Windows-1251", "UTF-8", $str);
}

public function load($filename)
{
    if (($handle = fopen($filename, "r")) !== FALSE)
    {
        while (($data = fgetcsv($handle, 0, ';')) !== FALSE)
        {
          $data = array_map(array($this,'convert'), $data);
            $this->save_row($data);
        }
        fclose($handle);
    } else
    {
        $this->loger->add("Не удалось открыть файл");
    }
}

воскресенье, 9 февраля 2014 г.

Sql Developer XE

При конекте ORA-12705: Cannot access NLS data files or invalid environment specified
Необходимо поменять локаль в настройка девелопера.
Добавляем в файл %SQLDEVELOPER_DIR%/sqldeveloper/bin/sqldeveloper.conf
AddVMOption -Duser.language=en
AddVMOption -Duser.region=us

суббота, 8 февраля 2014 г.

Symfony2 использовать DI в Command

Вызывать сервисы в консольной команде можно следующим способом

 $service = $this->getApplication()
                 ->getKernel()
                 ->getContainer()
                 ->get("my.service");