Stamattina mi sono messo a giocare con ColdFusion MX e SQL Server 2000.
ColdFusion MX si connette a qualunque datasource esistente (Access, SQL Server, MySQL, Oracle, Informix e via dicendo), e dato che l’avevo già testato con Access e MySQL, ho deciso di testarlo con SQL Server.
Ma la cosa NON è andata come speravo… [xx(]
Mi sono installato il mio bel SQL Server, ho aperto il Pannello di Controllo di ColdFusion MX, sono andato nella Gestione DataSources e ho fatto per aggiungere come sorgente il mio bel DB su SQL Server che avevo creato poco prima, utilizzando ovviamente il driver SQL Server di ColdFusion…
Ma ecco che si incazza ColdFusion e mi dice che non riesca a stabilire una connessione trusted con SQL Server….
Mmmm…. prima bestemmia (per modo di dire, non bestemmio MAI!)
Vabbè, controlliamo gli utenti su SQL Server…. ok, gli utenti sono a posto…
Proviamo a cambiare l’utente utilizzato per la connessione da ColdFusion (utente “coldfusion” creato apposta per il test)… niente, l’utente SA non funziona… l’utente Giovanni Barbieri (che è impostato come System Administrator) non funziona… cazzo, se un utente SysAdmin NON è trusted, chi dovrebbe esserlo????
Grrrr…. seconda bestemmia….
Vediamo un po’ che si dice sul sito di Macromedia…
Allora…
ColdFusion TechNote… cerca “SQL Server trusted connection”….
Trovato! ColdFusion MX: Enabling Microsoft SQL Server trusted connections
Ottimo, è quello che cercavo… leggiamo…. The “Trusted Connection” option is not supported by the DataDirect JDBC 3.0 SQL Server driver that ships with ColdFusion MX or the DataDirect JDBC 3.2 SQL Server driver that ships with ColdFusion MX 6.1
Che cosa? Allora che cazzo ce lo mettono a fare??? Mah… continuiamo a leggere… bla bla bla…. This TechNote explains how to enable a “Trusted Connection” in ColdFusion MX and higher, using the ODBC Socket driver.
Ma bravi! In pratica (e per i non addetti ai lavori) il driver JDBC di ColdFusion NON gestisce connessioni trusted con SQL Server!
L’unico modo per farlo funzionare è in realtà un workaround, ovvero un “girare intorno” al problema, senza risolverlo realmente…Vabbè, proviamoci…
1) Si crea un DSN di sistema utilizzando il driver SQL Server, e facendolo puntare al nostro database su SQL Server
2) Nel pannello di ColdFusion si crea un datasource NON scegliendo come driver SQL Server ma ODBC Socket, e lo so si fa puntare al DSN creato al punto 1.
Ok, la connessione viene creata, ed il datasource aggiunto… il risultato è lo stesso, ma non mi piace come ci si è arrivati…
E’ una soluzione “sporca”, non mi aspettavo una cosa del genere da ColdFusion, mi sento un po’ preso per i fondelli…
Vabbè, pazienza… continuiamo a smanettarci…
May 222004