FAQ |
Kalender |
Ämnesverktyg | Visningsalternativ |
2013-07-03, 13:56 | #21 | ||
|
|||
Klarade millennium-buggen
|
Jag använder MS SQL-Server, Access, MySQL.
Jag kör Windows 7 som operativ. |
||
Svara med citat |
2013-07-03, 14:09 | #22 | ||
|
|||
Mycket flitig postare
|
Citat:
2. MS SQL-Server lirar nog inte så bra med Ruby. Prova med MySQL det ska funka bra! |
||
Svara med citat |
2013-07-03, 20:39 | #23 | ||
|
|||
Klarade millennium-buggen
|
Citat:
Jag var först tvungen att installera DevKit, vilket är gjort, sen fick man upp något nytt kommandofönster och sen körde jag typ $ gem install mysql <ENTER> ...sen sa att driver för MySql är successfully installed, men inget av de exempelkoder jag kört funkar. Det gnäller på att det inte finns någon namespace rdbi/dbi.... Har sökt men inte hittat filen libmysql.dll i min Ryby installetion (c:\Program Files (x86)\Ruby200...). enligt doc så ska jag lägga filen libmysql.dll i ryby\bin.... men jag hittar inte libmysql.dll någonstans.... finns några *.rb-filer i driver-katalogen som jag lagt upp, men det var en helt USEL dokumentation och dokumentationen stämmer inte med verkligheten.... Jag har nu ägnat halva dagen åt att hitta en lösning för att köra mot MySQL i Ruby.... Jag känner mig frustrerad.... Senast redigerad av Conny Westh den 2013-07-03 klockan 20:51 |
||
Svara med citat |
2013-07-03, 20:56 | #24 | ||
|
|||
Supermoderator
|
libmysql.dll hittar du i din MySQL-installation, inte i Ruby.
__________________
Full-stack developer, free for smaller assignments |
||
Svara med citat |
2013-07-03, 22:29 | #25 | ||
|
|||
Klarade millennium-buggen
|
Citat:
Trodde det var rdbi, interface mot MySQL..... Men den gnäller fortfarande på namespace.... Följande kod har jag att testa med: Kod:
#!ruby20 # encoding: utf-8 =begin = Description The DBI package is a vendor independent interface for accessing databases. It is similar, but not identical to, Perl's DBI module. <DDL-script> delimiter $$ CREATE TABLE `players` ( `id` int(11) NOT NULL AUTO_INCREMENT, `firstname` varchar(32) NOT NULL, `lastname` varchar(32) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=430 DEFAULT CHARSET=latin1$$ </DDL-script> = Synopsis =end require 'rdbi\dbi' # Same example, but a little more Ruby-ish class Main def initialize() @connectionstring = 'DBI:Mysql:test' @user = 'root' @password = '**************' test() end def test() @dbh = connect() select() end def connect() DBI.connect(connectionstring, user, password) do | dbh | return dbh end def select() @dbh.select_all('select * from players') do | row | puts row end end end Main.new() Jag har lagt in lib filerna från "rdbi-1.2.0.pre0" till Rubys lib-katalog. Har även lagt in lib-filerna från "rdbi-driver-mysql-master" till Rubys lib-katalog. Har även kopierat in libmysql.dll i Ruby\bin från MySQL\lib. Men namespace rdbi\dbi hittas inte.... Senast redigerad av Conny Westh den 2013-07-03 klockan 22:31 |
||
Svara med citat |
2013-07-03, 23:37 | #26 | ||
|
|||
Mycket flitig postare
|
Skit i rdbi...
1. Installera en gem för mysql. Tex mysql2 (tror den ska vara lite bättre än mysql) https://github.com/brianmario/mysql2 2. Tuta och kör Finns massa exempel på länken ovan. Citat:
|
||
Svara med citat |
2013-07-03, 23:53 | #27 | ||
|
|||
Flitig postare
|
Ruby-utveckling under Windows kan inte vara enkelt då ingen använder platformen.
|
||
Svara med citat |
2013-07-04, 00:21 | #28 | ||
|
|||
Klarade millennium-buggen
|
Citat:
successfully installed.... Kod:
C:\Projects\Conny\Ruby\MySQL2\mysql2-master>gem install mysql2 Fetching: mysql2-0.3.11-x86-mingw32.gem (100%) ====================================================================================================== You've installed the binary version of mysql2. It was built using MySQL Connector/C version 6.0.2. It's recommended to use the exact same version to avoid potential issues. At the time of building this gem, the necessary DLL files where available in the following download: http://dev.mysql.com/get/Downloads/Connector-C/mysql-connector-c-noinstall-6.0.2-win32.zip/from/pick And put lib\libmysql.dll file in your Ruby bin directory, for example C:\Ruby\bin ====================================================================================================== Successfully installed mysql2-0.3.11-x86-mingw32 Parsing documentation for mysql2-0.3.11-x86-mingw32 unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/mysql2/1.8/mysql2.so, skipping unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/mysql2/1.9/mysql2.so, skipping Installing ri documentation for mysql2-0.3.11-x86-mingw32 1 gem installed C:\Projects\Conny\Ruby\MySQL2\mysql2-master> Körde även koden enligt exempel i ReadMe-filen: Kod:
# File: mysql2_test.rb client = Mysql2::Client.new(:host => "localhost", :database => 'test', :username => "root", :password => '**************') results = client.query("SELECT * FROM players") results.each do |row| puts row end Kod:
C:\Projects\Conny\Ruby\Hello>ruby mysql2_test.rb mysql2_test.rb:1:in `<main>': uninitialized constant Mysql2 (NameError) C:\Projects\Conny\Ruby\Hello> Jag kör senaste version av Ruby dvs 2.0.0p195 Senast redigerad av Conny Westh den 2013-07-04 klockan 00:31 |
||
Svara med citat |
2013-07-04, 00:44 | #29 | ||
|
|||
Flitig postare
|
Har du importerat mysql2 i din kod?
`require "mysql2"` |
||
Svara med citat |
2013-07-04, 01:05 | #30 | ||
|
|||
Klarade millennium-buggen
|
Jag har testat både med och utan med samma resultat, dvs det blir fel.
Använder jag require "mysql2" så får jag dock betydligt fler felrader enligt: Utan require: Kod:
Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. Med ensamrätt. C:\Projects\Conny\Ruby\Hello>ruby mysql2_test.rb mysql2_test.rb:1:in `<main>': uninitialized constant Mysql2 (NameError) Kod:
Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. Med ensamrätt. C:\Projects\Conny\Ruby\Hello>ruby mysql2_test.rb C:/Program Files (x86)/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': cannot load such file -- mysql2/2 .0/mysql2 (LoadError) from C:/Program Files (x86)/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require' from C:/Program Files (x86)/Ruby200/lib/ruby/gems/2.0.0/gems/mysql2-0.3.11-x86-mingw32/lib/mysql2/mysql2.rb:2:in `<top (requ ired)>' from C:/Program Files (x86)/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require' from C:/Program Files (x86)/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require' from C:/Program Files (x86)/Ruby200/lib/ruby/gems/2.0.0/gems/mysql2-0.3.11-x86-mingw32/lib/mysql2.rb:9:in `<top (required)>' from C:/Program Files (x86)/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:110:in `require' from C:/Program Files (x86)/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:110:in `rescue in require' from C:/Program Files (x86)/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:35:in `require' from mysql2_test.rb:1:in `<main>' C:\Projects\Conny\Ruby\Hello> Senast redigerad av Conny Westh den 2013-07-04 klockan 01:08 |
||
Svara med citat |
Svara |
|
|