Install on Debian Stretch 9.4 the fabulous Asterisk 14 + Freepbx 14

….I know…. there are other alternatives compared to FreePbx that are equally effective, but…. I know well FreePbx and I do not want to learn new Asterisk-GUI !

For this reason in this post I’ll write about FreePbx.

The very first step is to install Debian 9.1: below some critical points.

Disk Partition
My choice: Guided – use entire – all file in one partition
In my situation the device is equipped with a small SSD HD, and it is useless to create strange partition-geometries: the machine is used only for the Asterisk-PBX.

Software Selection
My choice: only SSH server & standard system utilities Continue reading

Visual Studio 2017: Come creare una stored procedure in Sql Server usando C#

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
Continue reading

The strange case of Woocommerce Csv Export plugin not working

WooCommerce is an WordPress plugin that lets you sell products and services from your website: it’s free but with additional features available as paid addons.

Among those available plugin is Woocommerce Csv Export that permit to export orders and other stuff from WooCommerce database to a CSV file easily, using ftp, mail or just create a file in a local folder.

These days I’ve moved a WordPress web-site, using WooCommerce + Woocommerce Csv Exportor, working properly for years in a new Debian-based LAMP hosting and…. it did not work anymore. Continue reading