Jump to content
arnaldo.medeiros

Ruby acessando banco de dados Access

Recommended Posts

    Bom dia meu amigos desenvolvedores,

    Sou desenvolvedor há alguns anos e nunca me deparei e nem imaginei trabalhar desenvolvendo scripts de automação, ou seja, sou o cara que faz o meio de campo entre um equipamento (bioquímico, hematológico, que processas diversos tipos de exames) com um sistema web.

Eu acostumado a desenvolver aplicações front e back end, trabalhando com desenvolvimento totalmente diferente do que estava habituado. Programadores iniciantes, estudantes de tecnologia, se preparem pois isso é trabalhar com tecnologia.

    Chega de firulas, vou direto ao ponto. Preciso da ajuda de vocês, estou com um problema que hoje não sei como resolver, tenho em mãos um equipamento que processa amostras de sangue e o resultado são enviados a um banco de dados. Até aí tudo bem, muitos vão pensar, "É facil, o comando select da linguagem SQL traz os resultados do banco." Sim, seria facil se fosse uma banco open source, ou que utilizasse a linguagem sql. O Banco é o ACCESS da Microsoft e a linguagem ruby, até então, não possui nenhum conector de acesso a esse SGBD. Precisso de alguma informação sobre acesso ao BD Access na linguagem de programação RUBY. Se alguém souber de alguma informação sobre esse tópico e puder ajudar eu agradeço.

 

Obrigado a todos!

Até mais!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By thiago009
      Sou novato na área, estou criando um site para praticar, o meu problema está na página contatos. O objetivo é que ele salve os dados do formulário num arquivo do access. Sei que não é o ideal, como estou começando na área, acho que é melhor aprender assim para depois estudar outras formas.
      Criei um comando no SQL que intitulei de "grava", o nome do meu arquivo do access é "banco" e o html é contato.
      Tentei também validar os campos com java, mas não deu certo e exclui os códigos que tinha colocado no início do html, se alguém puder me ajudar a fazer a validação.
      Isso não é um trabalho, estou fazendo para aprender.

      Segue link com os arquivos:
      https://etecspgov-my.sharepoint.com/:f:/g/personal/thiago_cunha35_etec_sp_gov_br/EioK0B6ZHaNNlJ6zZWSXSfUB7PwxWfp-R5ulmqZOr1Hlpg?e=v51d7i
       
       
      Agradeço quem puder ajudar,
       

      Muito Obrigado.
    • By thiago009
      Fiz um site simples, contém um formulário de contato com o objetivo de salvar os dados preenchidos num banco do access, como estou aprendendo falaram que era melhor começar criando um banco no access, mas não consegui fazer com que o formulário salve lá.
      Criei um código ASP para salvar os dados do formulário mas preciso de ajuda para conseguir 
      Coloquei o print dos códigos.
      Alguém pode me ajudar a resolver esse problema?
       
      <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="utf-8"> <meta charset="iso-8859-1" /> <link rel="stylesheet" type="text/css" href="css/estiloscontato.css"> <title>História da Informática</title> </head> <div class="menu"> <div class="collapse navbar-collapse navbar-right" id="myNavbar"> <ul class="nav navbar-nav"> <a href="index.html" target="principal">Home</a> <a href="historia.html" target="principal">História</a> <a href="evolucao.html" target="principal">Evolução</a> <a href="desvantagens.html" target="principal">Desvantagens</a> <a href="educacao.html" target="principal">Na educação</a> <a href="contato.html" target="principal">Contato</a> </ul> </div> </div> <div class="texto"> <body class="bg-color"> <!-- Estilos específicos de Seção --> <div id="conteudo" class="grupo" align=center> <p id="negrito"> <h1>Contato</h1> </p> <br> <p id="negrito">Entre em contato preenchendo o formulário abaixo:</p> <p name="contato"> <form name="f1" action="Contato" method="post"> <br> <fieldset> <br> <div class="campo"> <label for="nome">Nome</label> <input type="text" name="nome" id="nome"> </div> <br> <div class="campo"> <label for="email">E-mail</label> <input type="text" name="email" id="email"> <div> <br> <br><br> <!-- A PARTIR DESSA LINHA SÃO OS ""RADIO BUTTON"" --> <label>Departamento:</label> &nbsp; <label class="radio"> <input type="radio" name="departamento" value="suporte"> Suporte </label> <label class="radio"> <input type="radio" name="departamento" value="comercial"> Comercial </label> <label class="radio"> <input type="radio" name="departamento" value="conteudo"> Conteúdo </label> <div class="campo"> <p id="negrito"> </p> </div> <br> <!-- A PARTIR DESSA LINHA É O ""COMBO BOX"" --> <div class="assunto"> <p id="negrito"> <label for="assunto">Assunto<abbr title=!preenchimento obrigatório">*</abbr></label> <br> <select name="assunto"> <option>-- Selecione -- </option> <option value="duvidas">Dúvidas</option> <option value="solicitacoes">Solicitações</option> <option value="informacoes">Informações</option> <option value="outros">Outros</option> </select> </p> </div> <br><br> <!-- A PARTIR DESSA LINHA É O ""TEXTAREA"" --> <!-- <p id="negrito"> --> <div class="mensagem"> <p id="negrito"> <label id= "texto">Mensagem<abbr title=!preenchimento obrigatório">*</abbr></label> </p> <textarea name= "mensagem" rows="15" cols="80"></textarea> </div> <br> <br> <div class="botao"> <INPUT TYPE=SUBMIT VALUE="Enviar" align="center">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE=RESET VALUE="Apagar" align="center"> </div> </div> </p> </form> </body> <div class="bg-color"> </div> <br> </fieldset> </form> <footer class="rodape"> <small>Copyright © 2020</small> </footer> </body> </html> ESSE É O CÓDIGO ASP <% Dim objConn, strCaminho, nome, email, departamento, assunto, mensagem nome = Request.Form("nome") email = Request.Form("email") departamento = Request.Form("departamento") assunto = Request.Form("assunto") mensagem = Request.Form("mensagem") strCaminho = Server.MapPath("banco.mdb") Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strCaminho & ";" objConn.execute("Insert Into contato (nome, email, departamento, assunto, mensagem) Values ('"&nome, email, departamento, assunto, mensagem&"')") response.Write("Cadastrado com sucesso") objConn.Close %>  

    • By Ross Risso
      Olá pessoal!
      Estou com problemas para inserir as compras no banco de dados.
      até aqui funciona, mas se tendo adicionar outros dados ele não aceita. Só permite adicionar $id e $qtd. Ainda tenho que adicionar o ID do pedido e o valor da mercadoria. Alguém poderia me ajudar?
          <?php   foreach($_SESSION['carrinho'] as $id => $qtd){              $sql = "INSERT INTO tbldetped (MercDetPed, QuantDetPed) VALUES ('$id','$qtd')";         $qr = mysqli_query($conn, $sql);          } ?>
    • By mikuzuhara
      Estes são os arquivos principais do projeto em ruby on rails:
       
      routes.rb:
       
      Rails.application.routes.draw do root to: 'recipes#index' resources :recipes resources :recipe_types end  
      recipe_type.rb:
       
      class RecipeType < ApplicationRecord has_many :recipes end recipe.rb:
       
      class Recipe < ApplicationRecord validates :title, :recipe_type, :cuisine, :difficulty, :cook_time, :ingredients, :cook_method, presence: true belongs_to :recipe_type def cook_time_min "#{cook_time} minutos" end end  
      create_recipes.rb:
       
      class CreateRecipes < ActiveRecord::Migration[5.2] create_table :recipe_types do |t| t.string :name t.timestamps end def change create_table :recipes do |t| t.string :title t.string :recipe_type t.string :cuisine t.string :difficulty t.integer :cook_time t.belongs_to :recipe_type t.timestamps end end end  
      create_recipe_type.rb:
       
      class CreateRecipeTypes < ActiveRecord::Migration[5.2] def change create_table :recipe_types do |t| t.string :name t.timestamps end create_table :recipes do |t| t.string :title t.string :recipe_type t.string :cuisine t.string :difficulty t.integer :cook_time t.belongs_to :recipe_type t.datetime :published_at t.timestamps end end end recipes_controller.rb:
       
      class RecipesController < ApplicationController def index @recipes = Recipe.all end def show @recipe = Recipe.find(params[:id]) end def new @recipe = Recipe.new end def create @recipe = Recipe.new(recipe_params) if @recipe.save redirect_to @recipe else flash[:alert] = 'Você deve informar todos os dados da receita' render :new end end def edit @recipe = Recipe.find(params[:id]) end def update @recipe = Recipe.find(params[:id]) if @recipe.update(recipe_params) redirect_to @recipe else flash[:alert] = 'Você deve informar todos os dados da receita' render :edit end end private def recipe_params params.require(:recipe).permit(:title, :recipe_type, :cuisine, :difficulty, :cook_time, :ingredients, :cook_method) end end  
      index.html.erb:
       
      <h1>CookBook</h1> <p>Bem-vindo ao maior livro de receitas online</p> <%= link_to 'Enviar uma receita', new_recipe_path %> <% @recipes.each do |recipe| %> <h1><%= link_to recipe.title, recipe %></h1> <ul> <li><%= recipe.recipe_type %></li> <li><%= recipe.cuisine %></li> <li><%= recipe.difficulty %></li> <li><%= recipe.cook_time_min %></li> </ul> <% end %>  
      Passo o seguinte comando rspec especificamente em visitor_visit_homepage_spec.rb linha 11:
       
      :~/workspace/cookbook_parte7$ rspec ./spec/features/visitor_visit_homepage_spec.rb:11 Run options: include {:locations=>{"./spec/features/visitor_visit_homepage_spec.rb"=>[11]}} Visitor visit homepage and view recipe (FAILED - 1) Failures: 1) Visitor visit homepage and view recipe Failure/Error: recipe = Recipe.create(title: 'Bolo de cenoura', difficulty: 'Médio', recipe_type: recipe_type, cuisine: 'Brasileira', cook_time: 50, ingredients: 'Farinha, açucar, cenoura', cook_method: 'Cozinhe a cenoura, corte em pedaços pequenos, misture com o restante dos ingredientes') ActiveModel::MissingAttributeError: can't write unknown attribute `recipe_type_id` # ./spec/features/visitor_visit_homepage_spec.rb:14:in `block (2 levels) in <top (required)>' Finished in 0.04808 seconds (files took 1.72 seconds to load) 1 example, 1 failure Failed examples: rspec ./spec/features/visitor_visit_homepage_spec.rb:11 # Visitor visit homepage and view recipe   E depois de fazer as mudanças nos arquivos recipe.rb e create_recipe.rb, executei o seguinte comando novamente:
      $ rails db:migrate RAILS_ENV=test
       
      Ao baixar o repositório na máquina, dei os seguintes comandos:
       
      $ rails generate migration RemoveRecipe_typeToRecipe recipe_type:string
      $ rails db:migrate RAILSENV=test
      $ rails generate model recipe_type name:string
      $ rails db:migrate RAILS_ENV=test
       
      Modifiquei os arquivos recipetype.rb e createrecipe_type.rb conforme mencionado acima e passei o mesmo rails db:migrate mencionado.
       
      Não estou entendendo o por que do erro, os relacionamentos entre as tabelas não estão feitos?
       
      Estou partipando do processo seletivo da Locaweb, e faltam 4 desafios para concluir a entrega dos desafios e o prazo vai até 28/10/2019.
       
      Aguardo por um comentário, dica ou sugestão.
       
      Obrigado,
       
      Marcelino
       
    • By mikuzuhara
      Configuro a pasta do projeto da seguinte forma:
       
      :/workspace/cookbook_parte7/rails generate migration RemoveRecipe_typeToRecipes recipe_type:string
      :/workspace/cookbook_parte7/rails db:migrate RAILS_ENV=test
      :/workspace/cookbook_parte7/rails generate models recipe_type name:string
      :/workspace/cookbook_parte7/rails db:migrate RAILS_ENV=test
       
      Faço as alterações em recipe_type.rb e 20191023142828_create_recipe_types.rb conforme mostrado abaixo e passo o comando novamente:
       
      :/workspace/cookbook_parte7/rails db:migrate RAILS_ENV=test
       
      recipe_type.rb:
       
      class RecipeType < ApplicationRecord has_many :recipes, :class_name => :Recipe end 20191023142828_create_recipe_types.rb:
       
      class CreateRecipeTypes < ActiveRecord::Migration[5.2] def change create_table :recipe_types do |t| t.string :name t.timestamps end create_table :recipes do |t| t.belongs_to :recipe_type t.datetime :published_at t.timestamps end end end routes.rb:
       
      Rails.application.routes.draw do root to: 'recipes#index' resources :recipes, :recipe_types end recipes_controller.rb:
       
      class RecipesController < ApplicationController def index @recipes = Recipe.all end def show @recipe = Recipe.find(params[:id]) end def new @recipe = Recipe.new end def create @recipe = Recipe.new(recipe_params) if @recipe.save redirect_to @recipe else flash[:alert] = 'Você deve informar todos os dados da receita' render :new end end def edit @recipe = Recipe.find(params[:id]) end def update @recipe = Recipe.find(params[:id]) if @recipe.update(recipe_params) redirect_to @recipe else flash[:alert] = 'Você deve informar todos os dados da receita' render :edit end end private def recipe_params params.require(:recipe).permit(:title, :recipe_type, :cuisine, :difficulty, :cook_time, :ingredients, :cook_method) end end index.html.erb:
       
      <h1>CookBook</h1> <p>Bem-vindo ao maior livro de receitas online</p> <%= link_to 'Enviar uma receita', new_recipe_path %> <% @recipes.each do |recipe| %> <h1><%= link_to recipe.title, recipe %></h1> <ul> <li><%= recipe.recipe_type %></li> <li><%= recipe.cuisine %></li> <li><%= recipe.difficulty %></li> <li><%= recipe.cook_time_min %></li> </ul> <% end %> visitor_visit_homepage_spec.rb:
       
      require 'rails_helper' feature 'Visitor visit homepage' do scenario 'successfully' do visit root_path expect(page).to have_css('h1', text: 'CookBook') expect(page).to have_css('p', text: 'Bem-vindo ao maior livro de receitas online') end scenario 'and view recipe' do #cria os dados necessários recipe_type = RecipeType.create(name: 'Sobremesa') recipe = Recipe.create(title: 'Bolo de cenoura', difficulty: 'Médio', recipe_type: recipe_type, cuisine: 'Brasileira', cook_time: 50, ingredients: 'Farinha, açucar, cenoura', cook_method: 'Cozinhe a cenoura, corte em pedaços pequenos, misture com o restante dos ingredientes') # simula a ação do usuário visit root_path # expectativas do usuário após a ação expect(page).to have_css('h1', text: recipe.title) expect(page).to have_css('li', text: recipe.recipe_type.name) expect(page).to have_css('li', text: recipe.cuisine) expect(page).to have_css('li', text: recipe.difficulty) expect(page).to have_css('li', text: "#{recipe.cook_time} minutos") end scenario 'and view recipes list' do #cria os dados necessários recipe_type = RecipeType.create(name: 'Sobremesa') another_recipe_type = RecipeType.create(name: 'Prato principal') recipe = Recipe.create(title: 'Bolo de cenoura', difficulty: 'Médio', recipe_type: recipe_type, cuisine: 'Brasileira', cook_time: 50, ingredients: 'Farinha, açucar, cenoura', cook_method: 'Cozinhe a cenoura, corte em pedaços pequenos, misture com o restante dos ingredientes') another_recipe = Recipe.create(title: 'Feijoada', recipe_type: another_recipe_type, cuisine: 'Brasileira', difficulty: 'Difícil', cook_time: 90, ingredients: 'Feijão e carnes', cook_method: 'Misture o feijão com as carnes') # simula a ação do usuário visit root_path # expectativas do usuário após a ação expect(page).to have_css('h1', text: recipe.title) expect(page).to have_css('li', text: recipe.recipe_type.name) expect(page).to have_css('li', text: recipe.cuisine) expect(page).to have_css('li', text: recipe.difficulty) expect(page).to have_css('li', text: "#{recipe.cook_time} minutos") expect(page).to have_css('h1', text: another_recipe.title) expect(page).to have_css('li', text: another_recipe.recipe_type.name) expect(page).to have_css('li', text: another_recipe.cuisine) expect(page).to have_css('li', text: another_recipe.difficulty) expect(page).to have_css('li', text: "#{another_recipe.cook_time} minutos") end end Passo o seguinte comando do rspec:
       
      :~/workspace/cookbook_parte7$ rspec ./spec/features/visitor_visit_homepage_spec.rb:11 Run options: include {:locations=>{"./spec/features/visitor_visit_homepage_spec.rb"=>[11]}} Visitor visit homepage and view recipe (FAILED - 1) Failures: 1) Visitor visit homepage and view recipe Failure/Error: visit root_path SyntaxError: /home/massa-90/workspace/cookbook_parte7/app/views/recipes/index.html.erb:8: syntax error, unexpected tIVAR, expecting '(' ...r.append=( @recipe.@recipe_type.name );@output_buffer.safe_a... ... ^~~~~~~~~~~~ # ./spec/features/visitor_visit_homepage_spec.rb:21:in `block (2 levels) in <top (required)>' Finished in 0.07533 seconds (files took 1.41 seconds to load) 1 example, 1 failure Failed examples: rspec ./spec/features/visitor_visit_homepage_spec.rb:11 # Visitor visit homepage and view recipe O que pode estar faltando no código para passar nesse teste?
       
      Aguardo retorno.
       
      Obrigado,
       
      Marcelino
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.