Sql Search: un’altra chicca di RedGate

Posted 3. febbraio 2010 18.59 in Informatica

Illuminato dal post di Marco, che già a suo tempo mi fece conoscere la prima beta del primo prodotto di RedGate (Sql Prompt), ho installato Sql Search, tool gratuito che permette di cercare una stringa nei metadati (tabelle, colonne, viste, sp, ecc.) di un DB sql server.

Mi viene molto utile soprattutto nel cercare una stringa nelle stored procedure in quanto evita di fare il generate script che non so perché dalla 2005 in avanti è diventato molto più lento di quanto era nella 2000 e nella 7 (e poi  perché la ALTER PROC è disabilitata quando lo voglio generare per più di una ?)

RedGate si conferma ancora una volta un punto di riferimento per chi ha a che fare quotidianamente con database Sql server ed i soldi spesi a suo tempo per un paio di loro prodotti si sono ripagati 1000 volte.

Pur essendoci in Sql Server 2008 un suo intellisense, mi trovo molto più a mio agio con quello del già citato Sql Prompt (quando non sono sul mio pc continuo a fare “ssf” o TAB ad ogni comando…) e visto che anche l’ordine e la pulizia vogliono la loro parte, mi trovo spessissimo a dare una “botta” di Ctrl-B Ctrl-L per sistemare il codice con il buon Sql Refactor.

Per non parlare del tempo risparmiato con il Sql Compare quando c’è da confrontare database di sviluppo/produzione o altri casi in cui è necessario sincronizzare le strutture.

Insomma, bravi ai ragazzi inglesi, che scopro solo oggi hanno scelto il loro nome da un via di Firenze (via Porta Rossa) in onore di Leonardo da Vinci.

Oracle Client, Visual Studio 2008, IIS 7.5, Windows 7 x64: una bella lotta

Posted 2. febbraio 2010 16.55 in Informatica

Dopo che ieri avevo trovato il modo di imbrogliare l’installer del client Oracle 11gR1 a 64bit (che ufficialmente non supporta Windows 7), oggi mi sono dovuto scontrare con un problema più rognoso: il client si era installato, riuscivo a fare una connessione al server Oracle, ma il mio progetto ASPX (con il suo DAL e un mio OracleHelper) dentro VS2008 non funzionavano.

Ricompilando infatti il DAL (Data Access Layer) con la Oracle.DataAccess.dll a 64 bit e facendo girare il sito sull’IIS 7.5 locale (che gira a 64bit) tutto funzionava, ma se facevo ricompilare il sito aspx mi beccavo una bella:
Could not load file or assembly 'Oracle.DataAccess, Version=2.111.6.0, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. An attempt was made to load a program with an incorrect format.

In pratica la dll a 64bit a VS2008 (che ricordo è solo a 32bit) non andava giù…Ricompilando il DAL con una vecchia DLL (una 10.2) a 32 bit, il progetto web si ricompilava ma l’esecuzione nel browser dava un
The provider is not compatible with the version of Oracle client

Per farla breve ed evitarvi tutti i passaggi intermedi infruttosi (smanettare nella GAC, commentare l’assembly nel machine.config, sperare che il catamarano di Oracle si incagli sugli scogli, ecc) ecco come ho risolto:

  • Disinstallare tutto e partire puliti :-)
  • Installare il client 11gR1 a 32 bit (win32_11gR1_client, sempre col trucco del file refhost.xml); provando una connessione con un fle .udl vi dirà che non trova il provider… fa niente
  • Installare il cliente 11gR1 a 64bit (win64_11gR1_client); ora l’udl si connette
  • Ricompilare il vostro Dal o Helper con la Oracle.DataAccess a 32 bit (io ho usato la 1.111.6.0)
  • Ricompilare il vostro progetto web con queste dll nella Bin; dovrebbe ricompilare bene e il sito girare nel webserver di VS (Cassini)
  • Se volete che giri anche nell’IIS 7.5 (perchè magari volete testare bene authorization e authentication) allora dovete andare nelle Advanced Settings dell’Application Pool associato al vostro website e dire Enable 32-bit Application = True

image

Magari per qualcuno era logico, ma forse a qualcun altro risparmia qualche ora e qualche santo…

Installare Oracle Client 11g R1 su Windows 7 (x86 o x64)

Posted 1. febbraio 2010 14.33 in Informatica

Quando ho iniziato a preoccuparmi di dover installare il cliente Oracle sul mio nuovo notebook Win7 x64 ero piú preoccupato per i 64 bit che non per il sistema operativo.

Invece sembra proprio che fino all’arrivo della “planned” 11g R2 Windows 7 non sia ufficialmente supportato.

Lanciando il setup si ottiene infatti un :

Controllo dei requisiti del sistema operativo in corso...
Risultato previsto: Uno di 5.0,5.1,5.2,6.0
Risultato effettivo: 6.1
Controllo completato. Risultato globale del controllo: Non superato <<<<
Problema: Oracle Database 11g non è certificato sul sistema operativo corrente.
Suggerimento: Accertarsi di installare il software sulla piattaforma corretta.

o in inglese

Checking operating system requirements ...
Expected result: One of 5.0,5.1,5.2,6.0
Actual Result: 6.1
Check complete. The overall result of this check is: Failed <<<<
Problem: Oracle Database 11g is not certified on the current operating system.
Recommendation: Make sure you are installing the software on the correct platform.

Il trucco per forzare l’avvio della procedura di setup sta nel modificare il file refhost.xml che sta in

\win32_11gR1_client\client\stage\prereq\client\

e aggiungere un nodo

<!--Microsoft Windows 7-->
<OPERATING_SYSTEM>
    <VERSION VALUE="6.1"/>
</OPERATING_SYSTEM>

dopo il 6.0 di Vista (prima della chiusura di </CERTIFIED_SYSTEMS> )

Non so se tutti i tool (SqlPlus, ecc) funzionano… ho provato solo a fare un File .udl e la connection va a buon fine.

Un altro “errore” in cui potreste incappare è quello della directory dell’installazione: il PATH NON DEVE AVERE DENTRO DEGLI SPAZI ! (e questo nel 2010 mi pare un po’ grave…)
Quindi scordatevi la C:\Program Files\Oracle e optate per la vostra C:\users\Nomeutente oppure per la “vecchia” e brutta C:\Oracle