Ola amigos,
estou com esse erro:
Procedure or function 'spListaMunicipios' cannot be found in database 'SicosiWeb'.
ja verifique o nome da procedure no banco de dados e está correto.
estou usando banco MySQL
Connector .net
Onde estou errando ?
veja codigo:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using MySql.Data.MySqlClient;
using System.Web.Configuration;
using System.Collections.Generic;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.ComponentModel;
namespace Visual.SicosiWeb
{
[System.ComponentModel.DataObject]
public class Municipios
{
private static readonly string _connectionString;
private int _cod_mun;
public int Cod_mun
{
get { return _cod_mun; }
set { _cod_mun = value; }
}
private string _nome_mun;
public string Nome_mun
{
get { return _nome_mun; }
set { _nome_mun = value; }
}
static Municipios()
{
_connectionString = WebConfigurationManager.ConnectionStrings["SincofarmaString"].ConnectionString;
}
public Municipios(MySqlDataReader reader)
{
_cod_mun = (int)reader["Cod_Mun"];
_nome_mun = (string)reader["Nome_Mun"];
}
[System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, true)]
public static List<Municipios> SelectMunicipios()
{
MySqlConnection con = new MySqlConnection(_connectionString);
//MySqlCommand cmd = new MySqlCommand("web_municipio",con);
//cmd.CommandText = "Select* from `web_municipio` order by nome_mun;";
//cmd.CommandType = CommandType.Text;
MySqlCommand cmd = new MySqlCommand("spListaMunicipios", con);
cmd.CommandType = CommandType.StoredProcedure;
List<Municipios> results = new List<Municipios>();
using(con)
{
con.Open();
MySqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
results.Add(new Municipios(reader));
}
con.Close();
reader.Close();
return results;
}
}
}
}
Codigo no Web.config
<connectionStrings>
<add name="SincofarmaString" connectionString="server=localhost;user id=root;password=sa; database=SicosiWeb;pooling=false;"
providerName="MySql.Data.MySqlClient"/>
</connectionStrings>

Stored Procedures
Started By Wagner Nogueira, 23/02/2009, 16:08
3 replies to this topic
#1
Posted 23/02/2009, 16:08
#2
Posted 26/02/2009, 11:51
Até pela mensagem que pegou seu código está correto, seu problema é a conexão em outro banco ou os usuários/objetos com owner diferente
*************** M ** A ** C ** U ** L ***************
*************************************************
*************************************************
#3
Posted 27/02/2009, 08:18
Até pela mensagem que pegou seu código está correto, seu problema é a conexão em outro banco ou os usuários/objetos com owner diferente
Oi amigo,
Mas quando eu debugo a aplicação eu vejo que a conexao está no banco de dados correto,
até porque eu substitui o codigo MySqlCommand.storedProcedure por MySqlCommand.Text, onde eu estou passando a instrução sql, ai a classe está funcionando normal, mas eu quero usar stored procedures por varias razoes conhecidas.
#4
Posted 07/07/2009, 22:23
Até pela mensagem que pegou seu código está correto, seu problema é a conexão em outro banco ou os usuários/objetos com owner diferente
Oi amigo,
Mas quando eu debugo a aplicação eu vejo que a conexao está no banco de dados correto,
até porque eu substitui o codigo MySqlCommand.storedProcedure por MySqlCommand.Text, onde eu estou passando a instrução sql, ai a classe está funcionando normal, mas eu quero usar stored procedures por varias razoes conhecidas.
Olá amigo, estava com o mesmo problema e pesquisando na net quando achei esse seu post. Sei que é antigo mas de qualquer forma aqui vai a solução que encontrei em caso de alguem mais passar por isso. No meu caso a string de conexão era o problema. Sim, funcionava comandos usando "Text", mas se eu tentava chamar uma procedure usando "StoredProcedure" dizia que a procedure não existia. Meu database no MySql se chamava "databaseteste" (tudo em minúsculo). Mas na string de conexão em meu código estava como "DatabaseTeste". Resolvi tentar colocar tudo em minúsculo e bingo! Era isso. Problema resolvido.
Bem é isso aí, um grande abraço!

1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)