04 lutego 2014

Zapis do pliku w PL/SQL

W prosty sposób mozna zapisać do pliku używając pakietu UTL_FILE.

CREATE DIRECTORY test_dir AS 'c:\';
-- CREATE DIRECTORY test_dir AS '/tmp';
DECLARE
fileHandler UTL_FILE.FILE_TYPE;
BEGIN
fileHandler := UTL_FILE.FOPEN('test_dir', 'test_file.txt', 'W');
UTL_FILE.PUTF(fileHandler, 'Writing TO a file\n');
UTL_FILE.FCLOSE(fileHandler);
EXCEPTION
WHEN utl_file.invalid_path THEN
raise_application_error(-20000, 'ERROR: Invalid PATH FOR file.');
END;
/

02 grudnia 2013

Instalacja skanera Plustek S24 pod linuxem

Rozwiązanie problemu

  Po podłączeniu skanera do komputera z Ubuntu 8.04 lub nowszym uruchamiamy przez wybranie z menu program XSane. Początkowo otrzymamy napawający nadzieją komunikat informujący o sprawdzaniu podłączonych urządzeń, ale po krótkiej chwili  otrzymamy komunikat z błędem ze nie można się połączyć ze skanerem. 
   Z poziomu graficznej nakładki niestety wyskakuje błąd, ale jeszcze można sprawdzić jak wygląda sytuacja z poziomu terminala. W tym celu uruchamiany terminal i wpisujemy komendę xsane w celu uruchomienia programu. Otrzymujemy zwrotny komunikat, który szczegółowo informuje nas o występującym problemie.

Komunikat jest następujący
desktop:~$ xsane
[gt68xx] Couldn't open firmware file ('/usr/share/sane/gt68xx/ccd569.fw'): Nie ma takiego pliku ani katalogu

 Wyczytujemy, iż jedynym problemem jest brak pliku "ccd569.fw". Pojawia się pytanie gdzie można odszukać brakujący plik. Możliwości są dwie:
  1. Płyta ze sterownikami skanera
  2. Źródło internetowe ( ccd569.fw ) lub [mirror]

Po zaopatrzeniu się w brakujący plik sterownika kopiujemy go do poniższej lokalizacji
/usr/share/sane/gt68xx/

Jeżeli katalog gt68xx nie istnieje to należy go stworzyć.

Następnie wystarczy jeszcze ustawić odpowiednie prawa dostępu do pliku
chmod +rw ccd569.fw

Po wykonaniu powyższych instrukcji możemy znów włączyć program XSane i cieszyć się działającym skanerem

Podsumowanie:

Powyższy sposób pozwala na prawidłowe działanie naszego skanera w środowisku Ubuntu poprzez ręczne uzupełnienie brakujących sterowników.
Artykuł powstał w oparciu o metodę opisaną przez Markus'a Lacher'a  na jego stronie domowej http://www.lachermarkus.de/index.php?th=show_bericht&id_bericht=154

05 września 2013

[POWERSHELL]Rekursywna zamiana pliku

Potrzeba matką wynalazków. Potrzebowałem taki oto skrypt który ma za zadanie odnaleźć dany plik w podfolderach i go podmienić o tej samej nazwie. Skrypt znajduje się poniżej:

# Skrypt wyszukujacy nazwę pliku - podanie parametru odnajduje plik
param([string] $fileparam=$(throw "Please specify a filename."))
Clear-Host
$bufparam = Get-ChildItem -Path $fileparam
$files = Get-ChildItem -Recurse
foreach ($file in $files)
{

 if (($file.Attributes -ne "Directory"))
      {  
           # Write-Host $file.FullName
            
            if ($file.Name -eq $bufparam.Name) {
                Echo ("Zamiana pliku "+$file.FullName+ " na plik "+$bufparam.Name)
                Copy-Item $bufparam.FullName $file.FullName
            }
            
      }
}