| FAQ |
| Kalender |
|
|
Ämnesverktyg | Visningsalternativ |
|
|
|
|
#1 | ||
|
|||
|
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 21:51 |
||
|
|
Svara med citat
|
|
|
#2 | ||
|
|||
|
Supermoderator
|
libmysql.dll hittar du i din MySQL-installation, inte i Ruby.
__________________
Full-stack developer, free for smaller assignments |
||
|
|
Svara med citat
|
|
|
#3 | ||
|
|||
|
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 23:31 |
||
|
|
Svara med citat
|
|
|
#4 | ||
|
|||
|
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
|
|
|
#5 | ||
|
|||
|
Flitig postare
|
Ruby-utveckling under Windows kan inte vara enkelt då ingen använder platformen.
|
||
|
|
Svara med citat
|
|
|
#6 | ||
|
|||
|
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 01:31 |
||
|
|
Svara med citat
|
|
|
#7 | ||
|
|||
|
Flitig postare
|
Har du importerat mysql2 i din kod?
`require "mysql2"` |
||
|
|
Svara med citat
|
|
|
#8 | ||
|
|||
|
Klarade millennium-buggen
|
Jag kanske glömde nämna att jag även gått till Rybu-katalogen c:\Program Files (x86)\Ruby200 och kört:
Ruby dk.rb init och därefter: Ruby dk.rb install sen körde jag: Ruby dk.rb Review Allt rapporteras vara OK, men när jag försöker köra: Kod:
require "mysql2"
client = Mysql2::Client.new(:host => "localhost", :database => 'RubyTestDB', :username => "RubyTestUser", :password => 'RubyTestPassword')
results = client.query("SELECT * FROM players")
results.each do |row|
puts row
end
Kod:
....require cannot load such file -- mysql2/2.0/mysql (Load Error) Intressant blev det dock när jag la till de två första raderna i följande kod: Kod:
#!usr/bin/Ruby20
#encoding: utf-8
require "mysql2"
client = Mysql2::Client.new(:host => "localhost", :database => 'RubyTestDB', :username => "RubyTestUser", :password => 'RubyTestPassword')
results = client.query("SELECT * FROM players")
results.each do |row|
puts row
end
Kod:
C:\Program Files (x86)\Ruby200\bin\Ruby.exe: no Ruby script found in input (Load Error) >Terminated with exit code 1 |
||
|
|
Svara med citat
|
|
|
#9 | ||
|
|||
|
Klarade millennium-buggen
|
Jag körde återigen:
gem install mysql2 Config.yml som ligger i Ruby-katalogen ser ut så här: Kod:
# This configuration file contains the absolute path locations of all # installed Rubies to be enhanced to work with the DevKit. This config # file is generated by the 'ruby dk.rb init' step and may be modified # before running the 'ruby dk.rb install' step. To include any installed # Rubies that were not automagically discovered, simply add a line below # the triple hyphens with the absolute path to the Ruby root directory. # # Example: # # --- # - C:/ruby19trunk # - C:/ruby192dev # --- - C:/Program Files (x86)/Ruby200 |
||
|
|
Svara med citat
|
|
|
#10 | ||
|
|||
|
Mycket flitig postare
|
Citat:
Men som sagt... Kör för guds skull in Linux om du ska utveckla i Ruby. Det kommer spara dig åtskilliga timmar. |
||
|
|
Svara med citat
|
| Svara |
| Ämnesverktyg | |
| Visningsalternativ | |
|
|