Category Archives: Programovanie

Zmena umiestnenia dátových súborov v MySQL

V prostredí Windows sa MySQL 5 štandardne snaží nainštalovať do adresára C:\Program Files\MySQL\MySQL Server 5.0\. Po inštalácii sú dátové súbory (okrem InnoDB) umiestnené v adresári C:\Program Files\MySQL\MySQL Server 5.0\Data\.

Ak by ste ich potrebovali premiestniť, postup je jednoduchý. Server je potrebné stopnúť, otvoriť konfiguračný súbor my.ini a zmeniť riadok

datadir="C:/Program Files/MySQL Server 5.0/Data/"

napríkla na

datadir="C:/Data/MySQL/"

Obsah pôvodného adresára je potrebné presunúť na nové miesto a server opätovne naštartovať.

Inštalácia MySQL 5 na Windows Vista

Verzia mysql-5.0.51a-winx64 má problém s inštaláciou na Windows Vista, resp. nie je možné spustiť konfigurátor. Vyhadzuje nasledujúce hlásenie:

The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log for more detail.

Najjednoduchším riešením je inštalácia verzie 5.0.45, resp. 5.1 (tá je zatiaľ iba RC).

Iné riešenie je založené na použití nástroja Resource Hacker. Viac info v príspevku MySQL Server 5.0.51a Installation guide for Windows Vista.

Analógia Oracle ROWNUM v Microsoft SQL Server

Podobne, ako som nedávno riešil implementáciu funkcionality ROWNUM v MySQL, tj. automatické číslovanie záznamov získaných z databázy, dnes došiel rad na Microsoft SQL Server. V zásade existuje niekoľko možných prístupov od využitia dočasných tabuliek a identity stĺpcov, cez self joiny (pre malý počet záznamov) až po využitie funkcie rank(). Tá je ale dostupná až od verzie 2005.

Materiály

Sequential Numbering/Counting of Records with SQL Server
How to dynamically number rows in a SELECT Transact-SQL statement
Migrating from Oracle to SQL Server

Analógia Oracle ROWNUM v MySQL

Nedávno som riešil problém, v ktorom som všetkým riadkom vytiahnutým z MySQL databázy potreboval pridať číslo v sekvencii od 1 po počet vrátených riadkov. V Oracle databázach na to existuje jednoduchý spôsob – použitie kľúčového slova ROWNUM. MySQL takúto možnosť priamo neponúka, ale na jednom blogu som našiel elegantné riešenie:
SELECT @rownum:=@rownum+1 rownum, t.* FROM (SELECT @rownum:=0) r, mytable t;
Jedinou nevýhodou je, že je potrebné použiť vnorené queries.

WinMerge – skvelý nástroj na porovnávanie súborov

Tento týžden som objavil skvelý nástroj na porovnávanie a spájanie súborov v prostredí Windows. Zvláda nasledujúce fičúry:

  • Vizuálne porovnávanie a spájanie súborov
  • Editovanie súborov vrátane zvýrazňovania syntaxe
  • Podpora Unicode
  • Podpora textových formátov DOS, UNIX, MAC
  • Zobrazovanie mapy rozdielov v bočnej časti
  • Zvýrazňovanie rozdielov v rámci riadku
  • Podpora 7-zip archívov

WinMerge je open-source a zatiaľ asi najlepší nástroj na porovnávanie, ktorý som (pre prostredie Windows:) objavil.