Monthly Archives: February 2006

DDEX and Firebird .NET Data Provider

Well, in this article I’m going do describe step-by-step how-to add Firebird .NET Data Provider into Visual Studio 2005. So I assume, I have downloaded and installed the provider (be sure that’s for .NET2).

  1. You have to download the VS SDK (not the Framework SDK). It’s available on MSDN.
    It’s not the standard part of installation.

  2. Check whether (installation should add them in) the provider assemblies are in GAC (you can use the gacutil util from provider directory or the Framework GUI). You have to focus to FirebirdSql.Data.FirebirdClient (gacutil.exe /l FirebirdSql.Data.FirebirdClient).
  3. Locate your machine.config and add into <configuration> -> <configSections>
    add <section name=”firebirdsql.data.firebirdclient” type=”System.Data.Common.DbProviderConfigurationHandler, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=PublicKeyToken_of_System.Data_assembly” />.
  4. Into <system.data> -> <DbProviderFactories> add <add name=”FirebirdClient Data Provider” invariant=”FirebirdSql.Data.FirebirdClient” description=”.Net Framework Data Provider for Firebird” type=”FirebirdSql.Data.FirebirdClient.FirebirdClientFactory, FirebirdSql.Data.FirebirdClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=PublicKeyToken_of_your_FB_client_assembly” />.
  5. Then open the FirebirdDDEXProvider.reg file and replace the %Path% variable with the correct path for your installation, i.e.: C:Program FilesFirebirdClient , and load it into the registry (also check whether all entries were successfuly added).
    But! If you’re adding the path to the reg file you have input C:\Program Files\FirebirdClient (backslash the backslashes).

Now you can startup the VS and try to add database to Database Explorer toolbox. If you will follow these steps exactly, you have 99,9% chance for success. :)

PS: Sorry for my English. ;)

Víte co je to “vytvářeč”?

Nevíte? Nic si z toho nedělejte, ja to taky nevěděl. Vezmu to trochu obšírněji. Během svého záchvatu po koupi knihy a sebevzdělávání jsem zakoupil knihu C# – programování databází (Jason Price) (a asi 5 týdnů ležela na stole). K této knize napíšu jen několik slov, neb více si nezaslouží.

Za prvné, ja strašná. Hromada “vaty”, nepřesností a celkove hrozný překlad.

Jak asi tušíte (nebo ne) “vytvářeč” je prostě a jednoduše konstruktor. Nechápu, přoč tak zběhlý pojem se někdo snažil ohnout do češtiny.

Když už jsem knihu koupil, tak ji přelouskám, ale nemyslím, že to byla dobrá investice (například Jeffrey Richter – .NET framework programování aplikací, to je jiná liga). Rozhodně ji nikomu nedoporučuji.

A teď je pár slov k chybám. Překladu jsme se už zasmáli, takže:
ad vata> asi tak první až čtvrtá kapitola se zabývá víceméně VS a MS SQL Serverem. První věc považuju za zbytečnou, druhou taky – autor se totiž zameřil na všechny možné “klikací” nástroje a kde jak jaký select naklikat, ale vlastnímu SQL vůbec (a to považuji za důležitější než “MS SQL specific” nástroje a věci, to si můžete kdyžtak nastudovat jinde).
ad chyby> tady asi bude stačit jeden za všechny: “Existují tři třídy Command: …”. Autor evidentně nepřekročil toolbox VS event. MS SQL Server.

Ale co, aspoň se pobavím. :)
A kdyby mi kniha dala deset nových znalostí, je to dobře (nyní (v půlce – jde to rychle, je tam fakt dost vaty), 1 nová věc).

Asociace programu na pravé tlačítko pro složku

Potřeboval jsem, abych si mohl svůj progámek spustit lehce přes kontextové menu vyvolané na složce. Ve starých zdrojácích v Delphi jsem našel funkci, která sloužila před lety. Pak jsem ji jen přepsal do C#. Kdo má zájem, může využít procedurku níže. Je úplně jednoduchá, kdo chce víc, nechť se podívá do registrů jak do dělají jiné programy. ;-)


public static void AssociateForFolder(string menuName, string exeName)< ?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

{

RegistryKey rk = Registry.ClassesRoot.OpenSubKey(@”Directoryshell”, true);

rk.CreateSubKey(menuName).CreateSubKey(“command”).SetValue(“”, “”" + exeName + “” “%1″”);

}



Pozn.: V ostrém nasazení doporučuju ošetřit vyjímky. :-)

Delphi (aspol.) se Borland rozhodl "předat dál"

Ačkoli zde se hodně mluví o Visual Studiu (a příslušenství), nedá mi to abych napsal pár slov.
Asi každý dnes zaregistroval zprávu o tom, že se Borland rozhodl dále se nezaměřovat na produkty jako je Delphi a podobná IDE a předat je do rukou jiných. Sám Borland se chce změřit na ALM (Application Lifecycle Management). Nechci zde rozmýšlet nad problémem, jestli je to správně nebo ne, případně jestli tím Delphi skončí. Pravdou však je, že Borland s Delphi ukázal zajímavou cestu mezi námi vývojáři. Já sám jsem se setkal poprvé s Delphi 3. Je to takové klasické spojení: Borland+Delphi. Pokud řeknete Delphi vybaví se mi (a nejen mně) Borland a obráceně.
Zajímavé a rozhodně za povšimnutí stojí i fakt, že společně s těmito produkty se Borland “vzdává” i InterBase. Bude určitě zajímavé sledovat co se bude dít s touto databázovou platformou dál – má totiž proti sobě pokrevního soupeře, a sice Firebird, který se po oddělení velmi “rozjel” (je to mj. i můj oblíbený DB engine).

Co se stane s Delphi a vůbec celou partou, nikdo nemůže vědět. Jisté je, že tu nějakou dobu určitě bude (jde jen o to, jak dlouhou). Zamáčknu tedy slzu v oku a jdu si (ne)nostalgicky prohlédnout své D7, stejně v nich budu ještě peknou dobu dělat. :)
A InterBase? Ať je Firebirdem totálně převálcován. ;)

PS: Zajímavé bylo dnes sledovat 300% aktivitu na Borland Blogging Community. :)

EDIT: Dnes je u mě asi do 2 hodin v noci, takže proto říkam dnes i když je už 2 minuty zítra (to zní divně).

Jak si zapamatovat informace na zkoušky…

Pročítal jsem RSS feed z MSDN blogů (který jsem mimochodem nechal téměř měsíc ležet, takže tam bylo přes 3000 položek) a mimo jiné jsem narazil v jednom blogu na zajímavé odkazy. Nakonec jsem se proklikal až na článek How to… Remember Information for Exams. Na stejné stránce najdete i zlepšováky jak zlepšit zapamatování na jiné věci.

Rozhodně stojí za pročtení.

I když já myslím, že programátoři jsou schopni na krátkou dobu udržet v hlavě velké množství informací (proměnné, struktura třídy, globální věci, jména fcí co použije, …) – hmm, to jde vlastně proti zapamatovávání si informací ke zkoušce, pro tento účel je nutné je udržet trochu déle. :)