Ago 27

Opportunità in tempo di crisi

“Non possiamo pretendere che le cose cambino, se continuiamo a fare le stesse cose. La crisi è la più grande benedizione per le persone e le nazioni, perché la crisi porta progressi. La creatività nasce dall’angoscia come il giorno nasce dalla notte oscura. E’ nella crisi che sorge l’inventiva, le scoperte e le grandi strategie. Chi supera la crisi supera sé stesso senza essere ‘superato’ Chi attribuisce alla crisi i suoi fallimenti e difficoltà, violenta il suo stesso talento e dà più valore ai problemi che alle soluzioni. La vera crisi, è la crisi dell’incompetenza.

L’inconveniente delle persone e delle nazioni è la pigrizia nel cercare soluzioni e vie di uscita. Senza crisi non ci sono sfide, senza sfide la vita è una routine, una lenta agonia. Senza crisi non c’è merito. E’ nella crisi che emerge il meglio di ognuno, perché senza crisi tutti i venti sono solo lievi brezze. Parlare di crisi significa incrementarla, e tacere nella crisi è esaltare il conformismo. Invece, lavoriamo duro. Finiamola una volta per tutte con l’unica crisi pericolosa, che è la tragedia di non voler lottare per superarla”

(da Il mondo come io lo vedo di Albert Einstein)

Gen 17

Un JOIN al giorno

Vi riporto il link a un piacevole articolo sui tipi di Join presenti in sql server:

A Join A Day

 

Buona lettura!

 

Gen 04

ORA-12638: Credential retrieval failed

Qualche giorno fa mi sono trovato a fronteggiare questo errore tentando di connettermi ad Oracle tramite OLE Db.

La soluzione per fortuna semplice è stata modificare una impostazione nel file sqlnet.ora sul client:

da SQLNET.AUTHENTICATION_SERVICES= (NTS)

SQLNET.AUTHENTICATION_SERVICES= (NONE)

Non sono un esperto di Oracle, però l’opzione NTS dice al client di provare a usare le credenziali del dominio Windows per autenticarsi con il server Oracle. Questo potrebbe essere un problema in due casi:

  • Il server Oracle non è configurato per supportare l’autenticazione di Windows
  • Le credenziali usate non hanno sufficienti privilegi per accedere al server Oracle

Gen 04

10 Immutable Laws of Security

  1. If a bad guy can persuade you to run his program on your computer, it’s not your computer anymore
  2. If a bad guy can alter the operating system on your computer, it’s not your computer anymore
  3. If a bad guy has unrestricted physical access to your computer, it’s not your computer anymore
  4. If you allow a bad guy to upload programs to your website, it’s not your website any more
  5. Weak passwords trump strong security
  6. A computer is only as secure as the administrator is trustworthy
  7. Encrypted data is only as secure as the decryption key
  8. An out of date virus scanner is only marginally better than no virus scanner at all
  9. Absolute anonymity isn’t practical, in real life or on the Web
  10. Technology is not a panacea

Fonte: Microsoft Technet

Giu 24

Integrazione di Oracle in SQL Server

Poco tempo fa mi sono trovato a dover integrare i dati di un database Oracle 11g con SQL Server 2008 utilizzando i server collegati. Di per se la procedura non è particolarmente complessa, ma io stesso mi sono dovuto districare tra varie guide, praticamente tutte in inglese, talvolta anche contrastanti tra loro.
Prima di cominciare bisogna aver presente quali architetture sono in uso sui due sistemi. Nel mio caso la macchina SQL Server (MSSQL) è un cluster fisico a 64bit, mentre quella Oracle è una macchina virtuale a 32bit.

Installazione del client Oracle
Il primo passo è installare sulla macchina MSSQL il client Oracle reperibile su technet.oracle.com, fornisce le librerie di rete necessarie a stabilire la connessione con Oracle.
Nel mio caso ho scaricato il file 11107_w2k8_x64_production_client.zip.
Durante l’installazione, alla schermata Select Installation Type, scegliete l’opzione Runtime e completate l’installazione scegliendo dove installare il software.

Configurazione
Per configurare il client Oracle, eseguire Oracle Net Configuration Assistant selezionando Start, Tutti i programmi, Oracle – OraClient11g_home, Configuration and Migration Tools, e infine Net Configuration Assistant.
Cliccare su Next finche non viene proposta l’opzione Local Net Service Name, per creare una nuova configurazione, selezionare Add e ancora su Next.
Vi verrà richiesto di immettere il nome del servizio (Questo nome viene creato automaticamente durante l’installazione del server Oracle 11g. Il valore predefinito è ORCL, ma questo nome può essere cambiato. Se non si conosce il nome del servizio Oracle, sarà possibile trovarlo sul server Oracle e selezionando Start, Tutti i programmi, Oracle – OraDb11g_home1, Configuration and Migration Tools, Administration Assistant for Windows. Una volta avviato, espandere il nodo Computers e quindi il nodo dell’host locale e fare clic sul nodo Databases. I nomi dei servizi di database Oracle verranno visualizzati nel riquadro destro), una volta fatto, proseguire e selezionare il protocollo TCP, verrà chiesto di configurare la connessione. Nel campo host inserire l’hostname del server Oracle o il suo indirizzo IP; la porta predefinita di Oracle è la 1521, modificarla se necessario con l’apposita funzione. Ora possiamo fare un test della connessione, se abbiamo fatto tutto correttamente, otterremo il messaggio Test Succesfull

Configurazione del server collegato
Apriamo il nostro SQL Server Management Studio (SSMS), ora abbiamo 2 possibilità per creare il nostro collegamento. Il primo metodo utilizza la creazione guidata dal nodo Oggetti server (Server Object), ma io sconsiglio questo metodo perché a me ha causato un crash dell’agent di SQL mentre sceglievo il tipo di connettore.
Il secondo metodo utilizza poche istruzione T-SQL che rendono il processo molto più veloce e sicuro, non vi spaventate non serve che siate esperti, basta modificare il nome con quello del servizio che abbiamo configurato prima e dare un nome che ci piace al server collegato nel primo comando, e sostituire USER e PWD nel secondo con i parametri di accesso corretti:

EXEC master.dbo.sp_addlinkedserver @server = N'NOME_LINKED_SERVER', 
@srvproduct=N'OraOLEDB', @provider=N'OraOLEDB.Oracle', 
@datasrc=N'NOME_SERVZIO_ORACLE'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'NOME_LINKED_SERVER',
@useself=N'False', @locallogin=NULL,@rmtuser=N'USER_ORACLE',
@rmtpassword='PWD_ORACLE'

Ecco ora possiamo finalmente fare la nostra prima query al nostro server collegato Oracle:

SELECT *
FROM [NOME_LINKED_SERVER]..[NOME_DB].[NOME_TABELLA]

Spero che questa guida vi sia utile
Alla prossima

Basato sulla guida di Michael Otey

Post precedenti «