5

Quindi, non riesco a farlo funzionare correttamente. Il mio obiettivo finale è quello di far installare e lavorare la gemma dbd-odbc, e da più cose che ho letto, ho bisogno di installare ODBC binding per ruby ​​insieme alla gemma dbd-odbc. Beh, posso ottenere la gemma DBD-ODBC installati bene, ma quando si tratta di cercare di installare i serbatoi vincolanti fuori su di me in questo modo:Non riesco a ottenere il kit di sviluppo rubino funzionante per Windows XP

 
Building native extensions. This could take a while... 
ERROR: Error installing ruby-odbc-0.9998.gem: 
     ERROR: Failed to build gem native extension.` 

c:/tools/ruby/ruby-1.9.1-p376/bin/ruby.exe extconf.rb 
checking for version.h... *** extconf.rb failed *** 
Could not create Makefile due to some reason, probably lack of 
necessary libraries and/or headers. Check the mkmf.log file for more 
details. You may need configuration options. 

Provided configuration options: 
     --with-opt-dir 
     --without-opt-dir 
     --with-opt-include 
     --without-opt-include=${opt-dir}/include 
     --with-opt-lib 
     --without-opt-lib=${opt-dir}/lib 
     --with-make-prog 
     --srcdir=. 
     --curdir 
     --ruby=c:/tools/ruby/ruby-1.9.1-p376/bin/ruby 
     --with-odbc-dir 
     --without-odbc-dir 
     --with-odbc-include 
     --without-odbc-include=${odbc-dir}/include 
     --with-odbc-lib 
     --without-odbc-lib=${odbc-dir}/lib 
c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:364:in 'try_do': The complier failed to generate an executable file. (RuntimeError) 
You have to install development tools first. 
     from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:433:in 'try_cpp' 
     from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:811:in 'block in have_header' 
     from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:670:in 'block in checking_for' 
     from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:276:in 'block (2 levels) in postpone' 
     from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:250:in 'open' 
     from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:276:in 'block in postpone' 
     from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:250:in 'open' 
     from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:272:in 'postpone' 
     from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:669:in 'checking_for' 
     from c:/tools/ruby/ruby-1.9.1-p376/lib/ruby/1.9.1/mkmf.rb:810:in 'have_header' 
     from extconf.rb:22:in '' 

Quindi ... la lettura attraverso di essa, si dice che installare prima gli strumenti di sviluppo. Bene e dandy. Vado a here e prendo il kit di sviluppo. Vago here e leggo le istruzioni su come installarlo. Lo installo.
Nota a margine: l'ho provato con un'installazione one-click di 1.9.1 dal sito del programma di installazione di ruby. Ho provato questo con i binari precompilati mswin-32 di ruby, sotto 1.8.6, 1.8.7 e 1.9.1. Nessuno di loro ha funzionato.
Continuerò con il programma di installazione one-click poiché è quello che tutte le istruzioni che ho trovato sul web sembrano utilizzare. Belle. Dice di modificare il mio file fstab. Lo voglio. Ecco la mia configurazione attuale:
La mia installazione di ruby ​​è in: C:\tools\ruby\ruby19 Il devkit è stato estratto in questa directory, e posso controllare/bin e vedere gcc.bat, make.bat e sh.bat lì.
Seguo le istruzioni e modifico il mio file devkit/msys/1.0.11/etc/fstab. E ora si presenta così:
C:/tools/ruby/ruby19/devkit/gcc/3.4.5 /mingw C:/tools/ruby/ruby19/devkit/msys/1.0.11/usr/local /usr/local

Non importa quello che mi sembra di fare, non posso per la vita di me ottenere la gemma ODBC vincolante per la compilazione di estensioni native. Continuo a ricevere lo stesso errore più e più volte. Questo sta diventando molto frustrante - per favore aiutatemi!

risposta

2

Ti stai uccidendo.

Per sistemi operativi Win32 DLL di 0,997 sono disponibili in i386-msvcrt-ruby-odbc.zip. Contiene i file odbc.so e odbc_utf8.so che devono essere copiati nella directory .../ruby ​​/ 1.8/i386-msvcrt di installazioni Ruby 1.8 basate su MSVC.

Prova a mettere quei file dove consigliato, quindi installa la versione della gemma e guarda come va.

+1

Sai, l'ho provato più volte ma non sono riuscito a leggere la parte fondamentale di questa affermazione ... delle installazioni Ruby 1.8 basate su MSVC. Quindi ritorno a 1.8.7 un click installer, copiando quei file .so su dove necessario e sembra funzionare. Immagino che non sia ancora pronto per il 1.9. – bergyman

1

Ok, penso che questo sia il minimo. Ho disinstallato tutto: c: \ ruby, MinGW, MSYS, tutte le cose che ho manipolato cercando di farlo funzionare.

Poi:

  1. installato Rubino One-Click: http://rubyforge.org/frs/download.php/69034/rubyinstaller-1.8.7-p249-rc2.exe
  2. "gem install activerecord-SQLServer-adattatore"
  3. "gem install rotaie"
  4. installati devkit: decompresso rubyforge.org/frs/download.php/66888/devkit -3.4.5r3-20091110.7z in c: \ ruby ​​
  5. "gem install ruby-odbc", che ha installato e installato v. 0.999
  6. fatto un DSN denominato dev-travel-DSN utilizzando "Pannello di controllo> Strumenti di amministrazione> Origine dati (ODBC)"
  7. mettere questo nel mio database.yml:

development: 
    adapter: sqlserver 
    mode: odbc 
    dsn: dev_travel_dsn 
    username: some_user 
    password: some_secret 
    host: some_host 

Ho eseguito "rake db: schema: dump", che ha funzionato bene.

È strano, ma anche se metti molte delle stesse cose nel DSN Manager, devi metterle anche nel database.yml.

In ogni caso, quelli sembrano essere i requisiti minimi per utilizzare Sql Server/Rails 2.3.5/Windows.

1

Questo ha funzionato anche con le guide 3. Mi sono imbattuto in 2 trucchi nel processo. 1. Ruby 1.9.2 non mi ha permesso di installare ruby-odbc così sono tornato a 1.8.7. e 2. Per Rails 3 è necessario includere le seguenti righe nel tuo Gemfile:

gemma 'activerecord-SQLServer adattatore'

gemma 'ruby-ODBC'

Dopo di che, le istruzioni di cui sopra ha funzionato in modo impeccabile!

2

Avevo un problema molto simile, cercando di far funzionare DBI e ODBC con Ruby 1.9 in Windows. Ruby 1.8 funzionava bene, ma 1.9 presentava un sacco di problemi. Finalmente ha funzionato.

  1. Rimuovi tutte le altre versioni di Ruby, Dev Kit, ecc dal mio sistema (o semplicemente li rimando da qualche parte). Cercare di far funzionare Dev Kit con il sistema "sporco" ha prodotto problemi per qualche motivo ... conflitti di gemme?
  2. Scarica l'ultimo programma di installazione di Ruby da here e installalo.
  3. Ottieni il kit di sviluppo da github.com/oneclick/rubyinstaller/wiki/development-kit e segui le istruzioni.
  4. Ottieni l'ultima gemma Ruby ODBC da www.ch-werner.de/rubyodbc/. Scaricalo come gemma Ruby e salva la posizione.
  5. installare Ruby ODBC gemma eseguendo questo comando: gem install ruby-odbc-0.99994.gem --platform = rubino
  6. Installare DBI: gem install DBI
  7. Installare DBD-ODBC gemma: gem install DBD -odbc
  8. Esegui un semplice test, dovresti essere a posto.
1

Ron, perché tutto funzioni, ti sei ricordato di creare una nuova connessione ODBC nella tua origine dati ODBC?

Per Ruby 1.8, non è necessario "creare" nulla; inserire i file odbc da i386-msvcrt-ruby-odbc.zip dovrebbe essere sufficiente (istruzioni fornite su ch-werner.de/rubyodbc)

Hai scaricato dbi & gemme dbd-odbc?