Visual-Studio

CLR User-Defined Function for Check Constraint

Sergio Govoni

Come possiamo scrivere l’espressione logica che verifica un vincolo di tipo CHECK ? Possiamo farlo con:

  • T-SQL
  • User-Defined Function
  • CLR User-Defined Function

Abbiamo apprezzato l’utilizzo del linguaggio CLR nel post SQLCLR instead of OLE Automation (sp_OA* method), ora vediamo come è possibile implementare e fare il deploy di una funzione CLR da utilizzare per verificare l’espressione logica di un vincolo CHECK, definito ad esempio su una colonna di tipo float.

Il linguaggio che utilizzeremo per implementare la nostra CLR User defined function sarà Microsoft Visual C#.

Not a Number Value in Float Field

Sergio Govoni

In questo articolo parleremo della situazione che si verifica quando nel DB vengono memorizzati dei valori numerici, in colonne di tipo float, che però non possono più essere letti correttamente.

Tutto è iniziato dalla segnalazione di un utente che lamentava un errore in fase di estrazione dei dati di fatturato. La versione di SQL Server in produzione è la 2000 (SP4 – versione 8.00.2039) e l’errore restituito durante l’esecuzione della query è: “An error occurred while executing batch. Error message is: Overflow aritmetico.

Visual Studio Team System 2008 Database Edition GDR R2

Davide Mauri

Numerosi gli aggiornamenti della R2 di Visual Studio Team System 2008 Database Edition GDR, rilasciata nei giorni scorsi. Oltre al supporto completo a SQL Server 2008, sono state apportate le seguenti migliorie:

Schema Validation

  1. Aliased external objects do not resolve
  2. Permission type “SEND” is a database level permission
  3. Permissions with multiple INCLUDE or EXCLUDE treatment on its columns generates invalid error
  4. Common Table Expressions (CTE) names should respect the model case-sensitivity
  5. Adding a permission with the object name defined as a zero length string crashes VS
  6. OpenXML() generates invalid warnings or errors in SQL Server 2000 database projects
  7. Sub-queries defined at the column level should be able to reference table sources of the SELECT statement
  8. References to some SQL-CLR Assemblies cannot be resolved causing invalid reference errors
  9. Schema bound VIEWs containing a CAST function produce invalid error
  10. Validation of Database.sqlpermissions is very slow

Schema Compare

SQLCLR instead of OLE Automation (sp_OA* method)

Sergio Govoni

Riprendo il tema relativo all’aggiornamento dei dati esposti su una tabella pivot di un foglio di lavoro Microsoft Excel.

Abbiamo analizzato una possibile soluzione basata sull’utilizzo di OLE Automation (sp_OA*) con questo post Aggiornare una tabella pivot di Microsoft Excel. Vediamo ora com’è possibile raggiungere lo stesso risultato utilizzando però il linguaggio CLR.

Considerazioni sull’utilizzo del linguaggio CLR (common language runtime)

Talvolta chi sviluppa applicazioni database ha la necessità di estendere le funzionalità del linguaggio T-SQL per interagire meglio con il sistema operativo e con l’ambiente. Con le versioni di SQL Server che hanno preceduto SQL Server 2005 si poteva arricchire il T-SQL utilizzando le stored procedure estese e le classi di oggetti COM (Component Object Model). Era però necessario prestare molta attenzione nell’utilizzo delle stored procedure estese in quanto un malfunzionamento di queste ultime poteva compromettere l’engine di SQL Server con il rischio di arrestare il servizio principale (SQL Server service).

Visual Studio Team System 2008 Database Edition GDR - RTM

Davide Mauri

Disponibile la versione definitifiva di Visual Studio Team System 2008 Database Edition:

http://www.microsoft.com/downloads/details.aspx?FamilyID=bb3ad767-5f69-4db9-b1c9-8f55759846ed&displaylang=en

Veramente numerose le versioni di questa release, che rende questo strumento sempre più comodo per lo sviluppo di database. Questa versione supporta tutte le feature di SQL Server 2008, 2005 e 2000.

A questo indirizzo un dettagliato elenco delle novità introdotte:

http://blogs.msdn.com/gertd/archive/2008/11/25/visual-studio-team-system-2008-database-edition-gdr-rtm.aspx