SQL Server
Ancora oggi trovo diversi post in forum o newsgroup di gente
che si lamenta perchè non funziona questa query, perchè non mi riconosce quel
dato, perchè non riesco ad eseguire..., ecc...ecc. Poi vedi che utilizzano
ancora query costruite "onthefly" che, nel 99% dei casi, risultano essere la
causa di quelle "stranezze". Non so se il problema esiste ancora per leggerezza,
pigrizia o ignoranza (nel senso che ignora
) dello sviluppatore di turno, ma usare i parametri pare così brutto?
Circa 8/9 anni fa, quando muovevo i primi passi con ASP
e le query SQL, ammetto che ero solito anch'io utilizzare questo sistema....
DBPut è un interessante tool, disponibile nelle versioni Personal (free) e Professional (149$), utile per trasferire dati tra db diversi, come da Oracle verso Sql Server, da MySQL verso Access o da Paradox a dBase. Si definisce, infatti, "Universal data transfer utility". Da provare: http://www.dbput.com/
Nella versione italiana di SQL Server 2000, il SQL Agente ha alcuni problemi nell'elaborazione di file batch, per cui in alcuni casi va in crash. Il problema sembra risiedere nel file di risorse italiano sqlagent.rll che va sostituito con la versione inglese.
Riporto un messaggio reperito sul newsgroup "microsoft.public.it.sql" (la soluzione è stata proposta dal supporto tecnico microsoft):
...ho provveduto a sostituire (dopo
averne creata una copia di riserva =;-) ) il file di risorse sqlagent.rll
presente nella cartella
C:\Programmi\Microsoft SQL Server\MSSQL\Binn\Resources\1040 (ITA)
con quello presente in
C:\Programmi\Microsoft SQL Server\MSSQL\Binn\Resources\1033 (ENG-USA)
L'Agente SQL Server sembra funzionare correttamente risolvendo cosi' anche
il problema riscontrato da MariaGrazia, riportato come:
"Schedules occurring...
Beh, in realtà non è un problema ma solo una curiosità:
che utilizzo fate delle Viste (o Views) di SQL Server?
Conviene utilizzare le viste come delle tabelle appositamente filtrate ed
organizzate da sfruttare nelle stored procedure? Dal punto di vista delle
performance sicuramente no! Una vista è decisamente più lenta di una normale
SELECT, ma permette di avere un codice molto più pulito, ordinato ed aggiunge un
ulteriore strato particolarmente utile se la stessa query viene utilizzata da
più punti.
Lo scopo "ufficiale" di una Vista è, in poche parole, quello di
consentire la lettura dei dati (o solo di una parte...
Spulciando internet alla ricerca di un tool per la creazione di comandi INSERT partendo da dati già presenti nelle mie tabelle, ho trovato questo utilissimo script: http://vyaskn.tripod.com/code/generate_inserts.txt
Lo script, creato da Narayana Vyas Kondreddi, MVP per SQL Server, deve essere prima eseguito all'interno, ad esempio, di Query Analyzer, e genera una stored procedure chiamata sp_generate_inserts all'interno del database master (utilizzato di default, ma non è difficile modificare il database di destinazione). Inutile dire che lo script risponde perfettamente alla mia esigenza. Ad esempio:
EXEC sp_generate_inserts "Books", @From = "from Books where title like '%C#%'"
genera le INSERT con i campi e i dati...