Freeteo


Pensieri e C#dice di Matteo Raumer

Firebird e Mysql integrati in Visual Studio Data Designer

Da quando uso Visual Studio 2005 ho apprezzato molto il fatto di poter costruire l'accesso ai dati via designer e quindi gerare un Dataset che mi permette di avere una forte tipizzazione.
Questo porta notevoli vantaggi, il primo è sicuramente l'evitare problemi di cast tra i tipi che a runtime possono tramutarsi in errori, come il classico DataTable.Row[x]["campo"] che essendo di tipo object devo castare conoscendo io il tipo del campo corretto.
Ma questo non è il solo, con 2005 hanno potenziato l'utilizzo dei datasource per creare velocemente con drag&drop, binding di controlli in WindowsForm Webform etc...
Anche se questo non è detto sia utilizzabile sempre, sicuramente per progetti di "grandezza media" puo' portare vantaggio immediato in termini di velocita' e affidabilita' nello sviluppo, oltre che diciamocelo "è una figata"

La cosa che pero' spesso "blocca" l'utilizzo di questo tool è il numero limitato di provider, ovviamente Microsoft inserisce di default i classici OLEDB,SQL,SQLEXPRESS e ORACLE.
L'altro giorno invece mi sono trovato ad usare un altro db abbastanza famoso: FIREBIRD.
Percui sono partito nell'impresa (e dico "impresa" perche' sinceramente pensavo fosse piu' facile, abituato com'ero al web.config e a configurazioni importanti tramite xml) ed ecco che riprto qui i passi
- Installiamo il client da qui: http://www.firebirdsql.org/index.php?op=files&id=netprovider in modo da poter accedere tramite ado.net al db.

- Sempre dallo stesso link soltanto che piu' in basso nella pagina, installiamo i DDEX (Data Designer Extensibility) che non è altro che una dll che fa da "tramite" e un file di registro, dove diciamo al designer che vada a puntare a questa libreria.

- Apriamo il file "FirebirdDDEXProviderPackageLess32.reg" (situato nella dir di installazionde del ddex) e andiamo a modificare il la riga dove si fa riferimento alla dll "FirebirdSql.VisualStudio.DataTools.dll" con il nostro path di installazione, controllando di mettere le doppie barre (peche' altrimenti viene letto come carattere di escape in c++):
"CodeBase"="C:\\Programmi\\FirebirdClient\\FirebirdSql.VisualStudio.DataTools.dll"

- A questo punto manca solo il puntamento nel machine.config:
  <system.data>
    <DbProviderFactories>
       <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=b77a5c561934e089" />
   
   
Riavviate Visual Studio 2005, fate un nuovao TableAdapter o cmq una nuova DataSource e dovreste trovarvi abilitato anche FireBird:



Come avrete notato da questa immagine nella mia lista e' presente anche MYSQL.Infatti anche per lui il procedimento è simile:
- scarichiamo da mysql.com gli assembly per la connessione: http://dev.mysql.com/downloads/connector/net/5.0.html

- prendiamo la dll DDEX ufficiale: http://dev.mysql.com/downloads/visual-studio-plugin/1.0.html

- apriamo il path di installazione dove troviamo il file di registro "Register.reg", ed andiamo a modificare il path della nostra lib:
"CodeBase"="C:\\Programmi\\MySQL\\Tools for Visual Studio\\MySql.VisualStudio.dll" (nel file c'e' scritto anche con "!!!" che dobbiamo farlo)
in questo file ho modificato anche il path della "InprocServer32"="c:\\windows\\system32\\mscoree.dll" perche' era sbagliato

- per Mysql , la modifica al file machine.config viene fatta dal pacchetto di installazione quindi non occorre, cmq controllate sempre sotto al nodo <system.data><DbProviderFactories> per essere sicuri.

Un po di lavoro iniziale sicuramente, e soprattutto "scomodo" con questi file di registry, ma un grosso beneficio direi
Categoria: Tips
sabato, 18 nov 2006 Ore. 19.49

Messaggi collegati






  • Views Home Page: 219.765
  • Views Posts: 377.130
  • Views Gallerie: 446.050
  • n° Posts: 163
  • n° Commenti: 148
Anno 2014

Anno 2013

Anno 2012

Anno 2011

Anno 2010

Anno 2009

Anno 2008

Anno 2007

Anno 2006

Anno 2005
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003