"I veri traguardi non sono scritti su cartelli,
sono semplicemente i luoghi dove ci porta il nostro coraggio."
Denny Biasiolli

Blog

Compilare progetti con ADODB in VB6 con Windows 7 SP1 - Soluzione    

  • 03 Mar 2011
  • 10
Tra ieri e oggi in ufficio mi sono imbattuto in uno scomodo problema che mi ha tenuto arenato diverse ore nel cercare possibili soluzioni su internet.
Compilavo da Windows 7 SP1 un progetto con riferimenti a ADODB; funzionava tutto alla perfezione ma quando lanciavo il progetto da un PC con Windows XP mi veniva restituito un errore (Errore 13 - Tipo non corrispondente).
Soltanto grazie ad un mio collega sono riuscito a risolvere il dilemma.

Ambiente di partenza:
  • Sistema operativo:
        Windows 7 - (32 e 64 bit)
  • Ambiente di sviluppo:
        Visual Basic 6 SP6 (VB6 SP6)
  • Componente "incriminato":
        Microsoft ActiveX Data Objects 2.8 Library (ADODB, msado27.tlb, msado28.tlb e msado15.dll)
  • Errore riscontrato:
        Errore 13 - Tipo non corrispondente

Dopo aver passato la giornata a cercare possibili fix o workaround abbiamo scoperto che basta eseguire alcuni semplici passaggi:
  • Posizionarsi sulla cartella
        %ProgramFiles%\Common Files\System\
    Nota: per versioni di windows a 64 bit la cartella sarà
        %ProgramFiles(x86)%\Common Files\System\
  • Impostare i permessi alla cartella "ado\" in modo da esserne il proprietario e avere permessi di lettura/scrittura
  • Aprire la cartella "ado\"
  • Rinominare il file msado27.tlb in msado27_new.tlb
  • Rinominare il file msado28.tlb in msado28_new.tlb
  • Cercare il file "msado27.tlb" presente su un pc con Windows XP SP3 (o scaricarlo da questo link) e copiarlo nella cartella "ado\" di Windows 7 SP1
  • Duplicare il file "msado27.tlb" presente in Windows 7 SP1 chiamandolo "msado28.tlb"
  • Riavviare il sistema

A questo punto possiamo compilare tranquillamente i nostri progetti senza più preoccupazioni!

Spero di esservi stato utile, se avete segnalazioni o commenti potete inserirli qui sotto, saranno ben accetti!
Compagno di banco
09/03/2011 12.11
Io ho rinominato msado27.tlb in msado27new.tlb e non in msado27_new.tlb va bene lo stesso?
Grazie
mAo
09/03/2011 21.08
Bella! Grazie. Domanda: dopo aver fatto la modifica, i programmi compilati girano su un WIn7Sp1 senza la modifica? Mi sa che bisogna distribuire i nuovi msado2* dove andrà.
Denny
10/03/2011 08.40
Abbiamo testato e funziona anche sui client senza questo workaround con SP1. Perfetto direi! :)
mAo
11/03/2011 18.21
Grazie 1000 dell'info! Non ho avuto modo di provare: una cosa in meno da fare! :)
Emanuele
22/03/2011 10.34
Mi hai risolto un bel problema.Funziona tutto sia su XP che su W7 64 bit
Mike
25/03/2011 03.51
Grazie per l'ottimo suggerimento. Funziona di nuovo tutto. Per chi fosse interessato, il problema è che con il service pack 1 di Win7 alcuni oggetti della libreria ADO 2.8 supportano ora i 64bit e questo ha portato a rendere "obsolete" alcune interfacce. Tra cui anche il RECORDSET. Alla faccia dell'aggiornamento... Certo però che in Microsoft non imparano mai.. Costava troppo fare una versione NUOVA di ADO, tipo 3.0, che supporta i nuovi tipi ed interfacce, così la usa solo chi ne ha necessità?
Invece pare di dover correre dietro i capricci di ragazzini annoiati che non sanno cosa significa lavorare con questi accrocchi... Mah! Comunque grazie di nuovo per il workaround. Francamente mi stavo per arrendere, ad un passo dal buttare Win7 dalla finestra.
Denny
25/03/2011 08.36
Grazie a te Mike per la precisazione. Non è la prima volta che mi succedono queste cose con gli aggiornamenti di Microsoft, ormai mi sono rassegnato a dover cercare soluzioni alternative per riparare ai danni..è dura la vita del programmatore!
Attilio
29/06/2011 17.15
Ciao ho letto il tuo articolo ed ho provato ad usare gli accorgimenti che suggerisci, ma non riesco a fare funzionare i programmi su sistemi con XP.
Hai per caso altri suggerimenti ?

Grazie
Ciao
Denny
29/06/2011 17.16
Ciao, inizialmente il mio problema era proprio quello di far funzionare i programmi su sistemi con XP e il workaround che ho fatto funziona tuttora con i clienti.
Successivamente la Microsoft ha pubblicato un articolo riguardante questa problematica, se ti può essere utile il link è il seguente:
http://support.microsoft.com/kb/2517589/en-us

Ti auguro una buona giornata
Ciao
Giuseppe
02/08/2011 10.38
fantastico grazie. Ha funzionato subito.
Condivido quanto dice Mike. La Microsoft è sempre peggio. Passerò presto al mac ed all'open source
Categorie: InformaticaLavoroTag: ADODBmsado27.tlbmsado28.tlbtempoVB6Visual Basicwindows 7 SP1

Contatti


Generic placeholder image

Multimedia

Instagram | YouTube | Google

Generic placeholder image

Sport

Garmin | Strava

Generic placeholder image

My Work

GitHub | npm
PM and full-stack developer @ inRebus srl

Generic placeholder image

Location

Savigliano (CN)
ITALY

Curriculum


Full-stack developer e project manager presso inRebus srl - Torino

Attività

Contributor/maintainer di progetti opensource su GitHub

Sono attualmente interessato al mondo Python/Django per il backend e Vue.js e React per il frontend. Sto contribuendo attivamente a creare un ponte tra React e Vue con react-vuex. Questo progetto, come fa react-redux per Redux, permette agli utenti di usare lo store di Vuex nei componenti React.

Nel tempo libero mi occupo di contribuire a progetti opensource su GitHub. Su alcuni progetti sono maintainer o contributor.
Trovate alcuni miei lavori su GitHub (link), altri lavori sono su Bitbucket e GitLab su repository privati. Highlights:
- angularjs-pdf (maintainer)
- react-alert (collaborator)
- react-boilerplate (contributor)
- ionic-v1 and ionic2 (contributor)
- react-vuex (owner)

Breve talk su “Electron Framework”, Torino Coding Society, Torino

28 Febbraio 2017
Breve talk su Electron, un framework JavaScript usato per creare applicazioni desktop cross-platform.
- Link: torinocodingsociety.it/events/torino-coding-society-28feb17
- Slide: https://goo.gl/j3maof
- Video: https://youtu.be/TfXetxQEKL8

Coach agli eventi DjangoGirls in Italia

Torino, 2 Luglio 2016  |  Milano, 26 Novembre 2016  |  Napoli, 18 Febbraio 2017  |  Trento, 23 Settembre 2017
Django Girls è un’organizzazione no-profit e una community che incoraggia e aiuta le donne a organizzare workshops gratuiti di una giornata fornendo strumenti, risorse e supporto.
Durante ognuno di questi eventi, 30-60 donne creano la loro prima applicazione web utilizzando HTML, CSS, Python e Django.
Links: Torino, Milano, Napoli, Trento

Hobby

Ho un hobby particolarmente impegnativo: il triathlon. Le lunghe e solitarie sessioni di allenamento mi aiutano a svuotare la mente da ogni pensiero superfluo per focalizzarmi su ciò che è veramente importante.

"Da qualche parte lungo la strada abbiamo confuso la comodità con la felicità." (Dean Karnazes)

Lingue straniere

Ho una buona conoscenza dell'inglese, soprattutto in ambito informatico; non ho difficoltà a leggere documentazioni tecniche. L'inglese colloquiale lo conosco in maniera sufficiente, purtroppo manca un po' di pratica per poterlo parlare fluentemente.
La mia conoscenza del francese risale ai tempi delle medie, da quel momento non ho più fatto pratica se non per due settimane nel lontano 2007 in una trasferta di lavoro in Algeria, dove ho dovuto interagire con la regia della televisione pubblica algerina durante una manifestazione sportiva in cui mi occupavo della grafica da mandare, appunto, alla TV.

Carattere / Lavoro in team

Ho seguito alcuni progetti da solo, ma per la maggior parte del tempo ho sempre lavorato in team composti da almeno tre sviluppatori senza particolari difficoltà. Trovo estremamente positivo condividere le idee sulla soluzione ai problemi di sviluppo e costruire qualcosa di grande partendo dai piccoli progetti di ognuno.

Credo di avere un carattere socievole, maturato nei molti anni passati facendo il cameriere. Mi rapporto con i clienti con facilità per capirne le esigenze e le difficoltà nell'utilizzo del software, per poter successivamente sviluppare soluzioni che risolvono le loro problematiche.

Esperienze lavorative



(aggiornato a Maggio 2019)

29 Gennaio 2019

PSM I Certification - Professional Scrum Master I


da Maggio 2018

Full-stack developer e project manager presso inRebus s.r.l. - Torino

Sviluppo di grandi progetti per il mondo automotive, utilizzando:
- Backend: Python, Django, django-rest-framework
- Frontend: JavaScript, Angular (6/7), Angular Material, React, Vue.js, Socket.io
- Database: MySQL, SQL Server
- Other: Nginx, Docker, docker-composer
- Strumenti di sviluppo: VSCode
- Workflow: Git, Bitbucket, GitLab


Febbraio 2018 - Aprile 2018

Web/Mobile developer presso OilProject s.r.l. - Remoto/Milano/Torino

Sviluppo di applicazioni web e mobile utilizzando:
- React, Cordova, Xamarin, Node.js, PHP (Symfony)


Febbraio 2016 - Febbraio 2018

Web developer presso Maieutical Labs s.r.l. - Torino

Sviluppo di applicazioni web utilizzando:
- Backend: Python, Django, DjangoRestFramework
- Frontend: JavaScript, Angular.js, React, Ionic, Electron, ecc..
- Database: PostgreSQL, PouchDB
- Strumenti di sviluppo: Atom, VSCode
- Workflow: Git, Bitbucket, GitLab, Trello


Aprile 2012 - Febbraio 2016

Sviluppatore software presso Informatica EDP s.r.l. - Fossano (CN)

Sviluppo di software gestionali desktop:
- Linguaggi: C#, VB.NET
- Database: Microsoft SQL Server, MSAccess, Excel, CSV, SQLite
- Strumenti di sviluppo: Microsoft Visual Studio 2013/2015, Crystal Reports 13, DevExpress, XtraReports
- Workflow: SVN, Mantis
Mi sono occupato anche di interfacciamenti con software di terze parti tramite tracciati su file CSV, file di Excel, View e Stored procedure in SQL
Attività:
- Sviluppo di software in .NET per la gestione dei rifiuti di aziende che li producono, li trasportano e/o li recuperano/smaltiscono.
- Creazione di moduli da integrare al software principale per gestire preventivi, contratti, DDT, fatture, ecc..
- Creazione di stampe in Crystal Report 13 e DevExpress
- Assistenza a clienti e formazione all'utilizzo del software, tramite telefono, Skype o in trasferta presso il cliente


Gennaio 2008 - Aprile 2012

Sviluppatore software presso la Edisoft s.r.l. - Saluzzo (CN)

Sviluppo di software gestionali desktop:
- Linguaggi: VB.NET, VB6, PHP
- Database: Access, MySQL, Microsoft SQL Server
- Strumenti di sviluppo: SharpDevelop, VB6, Cystal Report XI
- Workflow: SVN, Mantis
Attività:
- creazione di un software client-server che comunica tramite il .NET Remoting e gestisce code di priorità concorrenti per l'accesso ai dati.
- creazione di programmi gestionali in Visual Basic 6 o su piattaforma .NET, che lavorano su database come Access, MySQL, Microsoft SQL Server 2000, 2005 e 2008.
- creazione di stampe in Crystal Report XI
- creazione di una piattaforma in php/mysql basata su Joomla per la gestione dei contatti e dello storico delle chiamate ai clienti


Aprile 2007 - Gennaio 2008

Sviluppatore software presso la Microplus Informatica s.r.l. - Marene (CN)

- Linguaggi: C++, C#
- Strumenti di sviluppo: Borland C++, SharpDevelop
- Workflow: SourceSafe
Sviluppatore C++, frequenti trasferte in tutto il mondo, assistenza nel cronometraggio e nella gestione di manifestazioni sportive, per le quali si sviluppavano programmi appositi che gestivano l'elaborazione dei dati e la loro conseguente visualizzazione su tabelloni e reti televisive tra cui la RAI.
Tra le varie attività svolte ci sono:
- Giro d'Italia 2007
- Campionati Africani di atletica e nuoto ad Algeri (Luglio 2007)
- Manifestazioni sportive in tutta Italia, organizzate dalla Federazione Italiana Nuoto e dalla Federazione Italiana di Atletica Leggera


Settembre 2005 - Marzo 2007

Sistemista presso la NetSolution Informatica - Fossano (CN)


Luglio-Agosto 2005

Sistemista presso Alpi Informatica - Savigliano (CN)
Pizzaiolo presso il ristorante Peter Pan - Savigliano (CN)

Pizzaiolo al ristorante Peter Pan, al mattino effettuavo assemblaggi di computer e assistenza tecnica presso il negozio "Alpi Informatica" a Savigliano


2000-2005

Diplomato come Perito Tecnico Industriale Informatico il 2 luglio 2005 presso l'IIS G. Vallauri di Fossano (CN) con la votazione di 85/100


2003-2005

Ottenuto il certificato Cisco C.C.N.A. - "Cisco Certified Network Associate" il 30 maggio 2005


Estate 2004

Stage lavorativi presso la Microplus Informatica s.r.l. - Marene (CN)

- Riccione: addetto stampa risultati ufficiali della manifestazione "FINA World Masters Swimming Championships" - Campionati Mondiali Master di Nuoto
- Roma: addetto stampa risultati ufficiali della manifestazione internazionale "RomAquatica - Trofeo Sette Colli"
- creazione di un programma in Visual Basic 6 per gestire le iscrizioni ad una palestra per bambini
- Viareggio: addetto stampa risultati ufficiali della manifestazione "RESCUE 2004 - Life Saving World Championships"


dal 1999

Ho iniziato ad interessarmi al mondo informatico in generale, finanziando questo mio hobby con il lavoro da cameriere in diversi ristoranti della provincia