- Dettagli
Come noto in Sql Server le stored procedure possono essere scritte usando codice .Net, tramite l'ausilio della Sql Server CLR Integration.
In questo post esporrò la procedura pratica passo-passo per creare una stored procedure in C#, e utilizzando le funzionalità di Visual Studio 2017 che permettono di raggiungere l'obbiettivo in modo facile e intuitivo.
Quanto scritto vale perfettamente e identicamente (si può dire ?) anche per Visual Studio 2015.
Premessa
Non so Voi, ma a me spesso riesce difficile scrivere alcune stored procedure direttamente in T-SQL: infatto SQL è un linguaggio prettamente dichiarativo, e a volte molte elaborazioni necessarie per estrarre dati richiedono procedure prettamente procedurali.
Linguaggi dichiarativi->Sono linguaggi in cui si descrive il risultato che si vuole ottenere (T-SQL è uno di questi).
Linguaggi Procedurali->Si descrive come ottenere un risultato (C# per esempio).
Ora, come noto T-SQL permette anche di scrivere codice usando lo stile procedurale (vedi cursori, etc), ma per chi, come me, è abituato per il 90 % della sua giornata a usare C# e PHP, e quindi stili di programmazione prettamente procedurali, diventa difficile convincere il cervello a fare lo "switch" a codice dichiarativo.
Per tale motivo per qualche stored procedure particolarmente complessa non disdegno di usare la SQL CLR Integration, e quindi di scrivere stored procedure usando codice C#.
Devo osservare anche usare questo tipo di stored procedure può introdurre anche importanti benefici nelle perfomance: in alcune situazioni i tempi di esecuzione sono sensibilmente più brevi rispetto allo stesso codice scritto in T-Sql.
Fine Premessa (era inutile ??)
Il Common Language Runtime (CLR) è la base fondamentale di Microsoft .NET Framework ed è la parte delegata all'esecuzione di managed code ottentuta da linguaggi compatibili.
Sql Server si integra con il CLR usando la funzionalità CLR integration, che in sostanza si traduce nella possibilità di scrivere diversi elementi procedurali usando managed code, invece di T-Sql.
- Stored procedures
- Triggers
- User-defined functions (UDF)
- User-defined types
- User-defined aggregates
Leggi tutto: Visual Studio 2017: Come creare una stored procedure in C#
- Dettagli
Giorni fa ho avuto la malsana idea di spostare un sito web, perfettamemte funzionante da anni, in un nuovo hosting: l'esigenza era quella di dare maggiore risorse a quest'ultimo visto la grossa mole di traffico che provocava.
Il sito in questione è creato usando wordpress, e usando come plugin principale woocommerce: nulla di esotico o particolare, semplicemente un sito di web commerce che al completarsi di un ordine esporta un file csv che quindi viene importato (usando un software creato dalla mia azienda) nel gestionale e inoltra anche direttamente la relativa richiesta di spedizione ai trasportatori (usando i relativi web service e altro).
Come spesso accade una volta migrato il tutto...... qualcosa non funziona.
In particolare l'esportazione di detti file csv non funziona più, e la relativa attività rimane in stato Queing.
Forte del fatto che il plugin che esporta i file csv è a pagamento, e dispone di un customer service, apro il ticket per avere delucidazioni e aiuto.
Forte delusione: mi accorgo subito che il customer care di questo plugin è praticamente.... inutilizzabile.
Tutti consigli del tipo "controlla se la presa è attaccata, e se il problema permane sono c.... tuoi".
Leggi tutto: Lo strano caso del plugin Woocommerce Csv Export
- Dettagli
Siamo all'ultima puntata della serie di post dedicata al mondo COM. Qui fornirò solo alcuni ragguagli riguardo a come le informazioni dei vari COM Component sono posti all'interno del registro di sistema.
Ecco i posto precedenti.
Componenti COM: Introduzione - parte 1 di 6
Componenti COM: Le interfacce - parte 2 di 6
Componenti COM: Interface Definition Language .....anche chiamato IDL - parte 3 di 6
Componenti COM: vTable e dintorni - parte 4 di 6
Componenti COM: Early Binding e Late Binding, gioie e dolori - parte 5 di 6
Registro di sistema
Per poter utilizzare i componenti COM contenuti all'interno di un COM Server occorre registrare quest'ultimo nel sistema operativo ospitante: in tal modo verranno creati alcune voci nel registro di sistema che servono per poterlo utilizzare correttamente.
Questo processo di registrazione può avvenire utilizzando un sistema di installazione, che si occupa di copiare e creare tutte le corrette voci di registro, oppure usando il l'utility regsvr32, se il COM Server è di tipo dll. Usualmente se è di tipo exe, basta richiede l'esecuzione di questo e uno degli effetti ottenuti è la sua completa autoregistrazione in modo automagico.
Leggi tutto: Componenti COM: Uno sguardo al registro di sistema - parte 6 di 6
- Dettagli
Questa è la quinta parte della serie dei post dedicati al mondo del COM. Come detto all'inizio questa tecnologia è molto "stagionata" e vintage, anche se tutt'oggi ancora ampiamente utilizzata, e la mia volontà di condividere con Voi i miei appunti su questo argomento è per aiutare quanti, come il sottoscritto, si trovano ancora a dover modificare ogni tanto dei progetti legacy.
Inoltre rappresenta anche un mio omaggio a una tecnologia che nel passato ha veramente rivoluzionato il mondo della programmazione.
Ecco i post precedenti.
Componenti COM: Introduzione - parte 1 di 6
Componenti COM: Le interfacce - parte 2 di 6
Componenti COM: Interface Definition Language .....anche chiamato IDL - parte 3 di 6
Componenti COM: vTable e dintorni - parte 4 di 6
Nel post precedente ho scritto circa i due metodi di accesso possibili a un COM Component.
Leggi tutto: Componenti COM: Early Binding e Late Binding, gioie e dolori - parte 5 di 6
Pagina 12 di 20