[HowTo] From MS Access to SQL Server

11 05 2008

Some days ago, when I was ar work, I had a “small” problem:

I must import a MS Access database to a SQL Server Database

At the first time, I thinked the follows idea:

  • From Access: Export Data -> Not Work
  • From ODBC: Create an ODBC driver and try to connect with it -> Not Work

Other idea? Oh yes … I think to use the ADP. What do you do? Read it step by step:

  1. On SQL Server create a new database (data destination)
  2. On MS Access: File -> New -> “project using existing data…” and select the server (SQL) and the database destination (it was created on step 1)
  3. On MS Access: Import the table from the mdb file (source database) and you can do it with: File -> Load External Data* -> Import
  4. Select all table (or only the table you need)
  5. Please wait …
  6. When the process end, you can have the data on your SQL Server Database

Is it not difficult ;)

* I’m not sure of the name of this menu … It’s the 3th row under file.





[KDE-Apps] KPoGre

2 04 2008

Disponibile la nuova versione di KPoGre. KPoGre è un tool che consente l’amministrazione di PostgreSQL. Ecco le informazioni tratte dal sito.

Description:
KPoGre is PostgreSQL administration tool for KDE. It uses libpgxx library - http://pqxx.org

Works with PostgreSQL 7.4.x or newer, requires libpgxx 2.6.9 or newer.

Changelog:
1.6.2
Incorporated KatePart. Now this powerfull toy is used for editing SQL’s, and Text/XML CLOB’s in Datatable.
See (on project web) tutorials “Querying database” and “Edit tables” to learn more about new features.

Added “Query table” and “Query view” to context menus, it launch query/result window with table/view name inserted in SELECT statement

When query/result window is opened for different schema than public, SQL editor contains “SET search_path TO schema” as first statement

Fixed Wizards for create/modify user with encrypted password”

Login dialog shows again, when login failed

Fixed sorting in function arguments list

Aggiornamento alla versione 1.6.2 avvenuto in data 02/04/2008

La pagina del progetto è “KPoGre KDE-Apps





[KDE] Navicat (MySQL Manager)

1 04 2008

E’ con grande felicità che segnalo l’uscita di una nuova versione di Navicat un cliente KDE per chi lavora con MySQL. Il numero della versione è Navicat (MySQL Manager 8.0.24) ed ecco una breve descrizione.

Navicat MySQL Manager is an ideal solution for MySQL administration. This all-inclusive mysql front end provides a powerful graphical interface for databases management, development and maintenance. Easy installation and intuitive interface make it an irreplaceable tool for you to manage local or remote MySQL. Navicat MySQL GUI features an Access-like graphical interface and provides a set of useful tool to manage, backup/ restore, import/ export data, synchronize database and connect to remote MySQL server, etc.

Navicat is also available for Windows and Mac OS X.

Io l’ho provato diverso tempo fà e devo dire che l’impressione era ottima. Son curioso di provarlo nuovamente e vedere i miglioramenti!

Link:
Navicat (MySQL Manager)





[Emozioni] Non a tutti gli informatici succede …

15 03 2008

Caro diario,

voglio raccontarti una cosa che mi è successa ieri al lavoro. Avevo da fare una query su una tabella di un database (SQL Server 2005) un pò particolare. La particolarità non è per la query che è una cavolata, ma per la mole di filtri da inserire. In pratica da una tabella da tanti XMila record dovevo filtrarne YMila facendo una WHERE secca su un campo e su un altro campo dovevo escludere quelli presenti in un elenco (11700 per l’esattezza) e così mi sono messo a preparare la query in excel sfruttando le macro. La prima versione era del tipo:

SELECT * FROM Tabella WHERE Campo1 = Valore1 AND Campo2 NOT IN ( ‘Val1′, [...] , ‘Val11700′) ORDER BY NomeCampo

La situazione non era delle più snelle, così ho coinvolto LadyChobin per vedere se assieme si trovava una query più snella. Il mio neurone ha avuto una bellissima idea ed ha cambiato la macro per ottenere la seguente query:

SELECT * FROM Tabella WHERE Campo1 = Valore1 AND (Campo2 <> ‘Val1′ AND [...] AND Campo2 <> ‘Val11700′) ORDER BY NomeCampo

Ero ottimista e l’ho lanciata con qua la LadyChobin. Abbiamo visto, per la prima volta entrambe, il seguente errore:

Msg 8631, Level 17, State 1, Line 1
Internal error: Server stack limit has been reached. Please look for potentially deep nesting in your query, and try to simplify it.

Mi ha fatto i complimenti, a lei non era mai successo di fare una query di dimensioni elevate che producesse questo errore. Così siamo tornati alla NOT IN ed abbiamo atteso il risultato.

Quando ha finito, l’ho chiamata e le ho detto “19″ e mi ha chiesto se avesse finito. Le ho risposto si … ci mancava solo che avesse altro da fare dopo tutto quel tempo! Ad esser sinceri ci ha messo esattamente 18 minuti e 42 secondi per estrarre 3961 records.

Dai, LadyChobin ammettilo che ti rode che quell’errore l’ho avuto io e non te … ihihihih …

Ahhh … che bello essere informatici … vediamo cose che voi umani nemmeno si immaginano :P





Update & Inner Join

7 01 2007

Nel seguente esempio viene mostrato come creare un istruzione di update relazionando due tabelle:

UPDATE t1
SET myField1 = ‘New Value 1′ ,
myField2 = ‘New Value 2′
FROM Table1 t1
INNER JOIN Table2 t2
ON t1.myKey1 = t2.myKey2
WHERE ( t1.myWhereField1 = ‘hello’)

Ora buon divertimento e aggiornamento :)





Valore minino e massimo, media e somma

22 12 2006

Ti è mai capitato di dover fare delle operazioni (Valore minino e massimo, media e somma) su valori numeri in SQL Server? Vediamo come

Leggi il seguito di questo post »





[SQL Server] IF EXISTS - Esistono Record che … ?

14 06 2006

Molte volte capita, soprattutto in presenza di trigger, che prima di eseguire una query dobbiamo verificare se realmente vi siano dei record coinvolti oppure no.
Leggi il seguito di questo post »





[SQL Server] Ottenere l’elenco delle tabelle

5 05 2006

Molte volte ti interessa avere l’elenco completo delle tabelle presente in un database.
Leggi il seguito di questo post »





[SQL Server] Numero di righe coinvolte in più query

20 04 2006

Tempo fà abbiamo visto come l’istruzione @@ROWCOUNT ci permette di ottenere il numero dei record coinvolti nell’ultima istruzione SQL. Ora vediamo come sfruttare questa opzione su un blocco di istruzioni e tornare il valore finale all’utente.
Leggi il seguito di questo post »





[SQL Server] Eseguire Query in transazione

17 03 2006

Il seguente esempio si preoccupa di far capire come eseguire via script una serie di query in un blocco transazionale ed effettuare il commit o il rollback in base alla situazione finale.

Leggi il seguito di questo post »