asp.net 0 Denunciar post Postado Agosto 12, 2004 Tenho o código abaixo <%@ Control Language="VB" %> <%@Import Namespace="System.data"%> <%@Import Namespace="System.Data.OLEDB"%> <script runat="server"> Dim str_nome as String Dim Intcode as Integer Dim str_senha as String Dim Conexao as OLEDBConnection Dim Dtreader as OLEDBDataReader Dim comando as OLEDBCommand Dim opcao as Integer ' Insert page code here ' Sub Page_load(sender As Object, e as EventArgs) lblogin.visible=true lbsenha.visible=true txtlogin.visible=true txtsenha.visible=true btlogar.visible=true end sub Sub Button1_Click(sender As Object, e As EventArgs) lblogin.visible = false lbsenha.visible = false txtlogin.visible = false txtsenha.visible = false btlogar.visible = false Dim StringConexao as String = "Provider=MySQLProv;Data Source=C:\Guilherme\Downloads\mysql-4.0.20d-win-noinstall\data\valeuboi;User Id=Telematic;Password=;" Dim MySQL as String = "Select * from usuario where us_email= '"& txtlogin.text &"' and us_senha='"& txtsenha.text &"'" Dim MinhaConexao as New OledbConnection(stringConexao) Dim Comando as New OledbCommand(Mysql,Minhaconexao) MinhaConexao.Open() 'Abrindo a conexão com o banco Dtreader = Comando.ExecuteReader(System.Data.CommandBehavior.CloseConnection) 'Executando a busca e fechando a conexão com a base de dados If Not Dtreader.Read() then lbtextnome.visible = true lbnome.text = "Usuario/Senha inválidos" Dtreader.close Conexao.Close else lbnome.text = Dtreader("us_nome") Session("usuario") = lbnome.text Session("codigo") = dtReader("us_codigo") dtreader.close MinhaConexao.close Response.Redirect("calendario.aspx") end if End Sub </script> <table style="WIDTH: 282px; HEIGHT: 71px" cellspacing="0" cellpadding="0"> <tbody> <tr> <td width="25%"> <asp:Label id="lblogin" runat="server" font-names="Verdana" font-size="10pt">Login</asp:Label></td> <td> <asp:TextBox id="txtlogin" runat="server" Width="199px"></asp:TextBox> </td> </tr> <tr> <td> <asp:Label id="lbsenha" runat="server" font-names="Verdana" font-size="10pt">Senha</asp:Label></td> <td> <asp:TextBox id="txtsenha" runat="server" Width="90px"></asp:TextBox> </td> </tr> <tr> <td> <asp:Button id="btlogar" onclick="Button1_click" runat="server" BorderWidth="1px" BorderStyle="Solid" BorderColor="DimGray" BackColor="WhiteSmoke" ForeColor="DimGray" Font-Size="10pt" Font-Names="Verdana" Text="logar"></asp:Button> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td> <asp:Label id="lbtextnome" runat="server" font-names="Verdana" font-size="10pt" visible="False">Nome:</asp:Label></td> <td> <asp:Label id="lbnome" runat="server" font-names="Verdana" font-size="10pt"></asp:Label></td> </tr> <tr> <td> </td> <td> </td> </tr> </tbody> </table> Que é um script para login do usuário, eu mando ele compilar tudo beleza, agora quando eu rodo e informo o nome do usuário e senha ele me retorna o seguinte erro. Server Error in '/' Application. -------------------------------------------------------------------------------- The .Net Data OLE DB Provider(System.Data.OleDb) requires Microsoft Data Access Components(MDAC) version 2.6 or later. Version 2.53.6200.0 was found currently installed. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.InvalidOperationException: The .Net Data OLE DB Provider(System.Data.OleDb) requires Microsoft Data Access Components(MDAC) version 2.6 or later. Version 2.53.6200.0 was found currently installed. Source Error: The source code that generated this unhandled exception can only be shown when compiled in debug mode. To enable this, please follow one of the below steps, then request the URL: 1. Add a "Debug=true" directive at the top of the file that generated the error. Example: <%@ Page Language="C#" Debug="true" %> or: 2) Add the following section to the configuration file of your application: <configuration> <system.web> <compilation debug="true"/> </system.web> </configuration> Note that this second technique will cause all files within a given application to be compiled in debug mode. The first technique will cause only that particular file to be compiled in debug mode. Important: Running applications in debug mode does incur a memory/performance overhead. You should make sure that an application has debugging disabled before deploying into production scenario. Stack Trace: [invalidOperationException: The .Net Data OLE DB Provider(System.Data.OleDb) requires Microsoft Data Access Components(MDAC) version 2.6 or later. Version 2.53.6200.0 was found currently installed.] System.Data.OleDb.OleDbConnection.CreateInstanceMDAC() +240 System.Data.OleDb.OleDbConnection.GetObjectPool() +154 System.Data.OleDb.OleDbConnection.CreateProvider(OleDbConnectionString constr) +11 System.Data.OleDb.OleDbConnection.Open() +203 ASP.controleusuario_ascx.Button1_Click(Object sender, EventArgs e) +241 System.Web.UI.WebControls.Button.OnClick(EventArgs e) +83 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBa ckEvent(String eventArgument) +57 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33 System.Web.UI.Page.ProcessRequestMain() +1277 -------------------------------------------------------------------------------- Version Information: Microsoft .NET Framework Version:1.1.4322.573; ASP.NET Version:1.1.4322.573 Compartilhar este post Link para o post Compartilhar em outros sites
asp.net 0 Denunciar post Postado Agosto 12, 2004 Galera antes o erro era porque eu naum tinha o MDAC instalado na versão correta mas agora ele tá me retornando o erro abaixo. [OleDbException (0x80040154): No error information available: REGDB_E_CLASSNOTREG(0x80040154).] [invalidOperationException: The 'Telematic' provider is not registered on the local machine.] System.Data.OleDb.OleDbConnection.CreateProviderError(Int32 hr) +77 System.Data.OleDb.OleDbConnection.CreateProvider(OleDbConnectionString constr) +81 System.Data.OleDb.OleDbConnection.Open() +203 ASP.controleusuario_ascx.Button1_Click(Object sender, EventArgs e) +241 System.Web.UI.WebControls.Button.OnClick(EventArgs e) +83 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBa ckEvent(String eventArgument) +57 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33 System.Web.UI.Page.ProcessRequestMain() +1277 A linha onde estou determinando o meu banco é a seguinte. Dim StringConexao as String = "Provider=Telematic;Data Source=C:\Guilherme\Downloads\mysql-4.0.20d-win-noinstall\data\valeuboi;User Id=Telematic;Password=;" Compartilhar este post Link para o post Compartilhar em outros sites
asp.net 0 Denunciar post Postado Agosto 13, 2004 Agora Sim. Galera eu consegui depois de muita luta e muitos cabelos arrancados e canetas quebradas, fazer a conexão com o MySQL, e decidi postar aqui para ajudar a galera toda que venha a ter a mesma dúvida que eu, pois bem vamos lá. Instalações requeridas para a conexão. 1 - ODBC.NET Data Provider 2 - My SQL (Verificar a versão para seu sistema operacional) 3 - Odbc Driver - MySQL 3.51 Agora depois das instalções podemos ir para o código propriamente dito. 'Determinando que linguagem estou usando no meu script, no nosso caso o VB.net <%@ Control Language="VB" %> 'Importanto os Namespaces para trabalhar com dados. <%@ import Namespace="System.data" %> <%@ import Namespace="System.Data.ODbc" %> 'Determinando que o script rode no servidor <script runat="server"> 'Declarando as variáveis com os respectivos tipos Dim str_nome as String Dim Intcode as Integer Dim str_senha as String Dim Conexao as ODBcConnection Dim Dtreader as ODBcDataReader Dim comando as ODBcCommand 'Iniciando o código propriamente dito 'Esta sub só vai acontecer quando o usuário clicar no botão do login, pode antes de executar o comando fazer uma verificação se os campos estão preenchidos e ainda verificar no caso do login se este foi preenchido com um email, mas isto vcs podem fazer Sub Button1_Click(sender As Object, e As EventArgs) 'Determinando a minha string de conexão com o banco Dim StringConexao as String = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=valeuboi; USER=root;PASSWORD=; OPTION=3;" 'Determinando a minha SQl de consulta no banco Dim MySQL as String = "Select * from usuario where us_email= '"& txtlogin.text &"' and us_senha='"& txtsenha.text &"'" 'Declarando a variável minha conexao como sendo do tipo conexão para o banco Dim MinhaConexao as New OdbcConnection(stringConexao) 'Declarando a variável comando como um comando do ODBC, passando como parametro a string de busca no banco e a conexão Dim Comando as New OdbcCommand(Mysql,Minhaconexao) 'Abrindo minha conexão com o banco MinhaConexao.Open() 'Executando a busca e fechando a conexão com a base de dados Dtreader = Comando.ExecuteReader(System.Data.CommandBehavior.CloseConnection) 'Verificando se a busca trouxe algum resultado If Not Dtreader.Read() then 'A busca não trouxe nenhum resultado, ou seja o usuário informou valores que não existem no banco lbtextnome.visible = true lbnome.text = "Usuario/Senha inválidos" Dtreader.close Conexao.Close else 'Aqui o resultado trouxe valores e neste caso estou passando para o Label lbnome o valor do nome do usuário e redirecionando para outra página, além de criar uma Session para controlar o acesso lbnome.text = Dtreader("us_nome") Session("usuario") = lbnome.text Session("codigo") = dtReader("us_email") dtreader.close MinhaConexao.close Response.Redirect("calendario.aspx") end if End Sub </script> 'Aqui não preciso comentar pois é uma estrutura HTML comum, claro que deve-se tomar cuidado com as estruturas do form que no caso devem ser controle do ASP.NET <table style="WIDTH: 282px; HEIGHT: 71px" cellspacing="0" cellpadding="0"> <tbody> <tr> <td width="25%"> <asp:Label id="lblogin" font-size="10pt" font-names="Verdana" runat="server">Login</asp:Label></td> <td> <asp:TextBox id="txtlogin" runat="server" Width="199px"></asp:TextBox> </td> </tr> <tr> <td> <asp:Label id="lbsenha" font-size="10pt" font-names="Verdana" runat="server">Senha</asp:Label></td> <td> <asp:TextBox id="txtsenha" runat="server" Width="90px"></asp:TextBox> </td> </tr> <tr> <td> <asp:Button id="btlogar" onclick="Button1_click" runat="server" Text="logar" Font-Names="Verdana" Font-Size="10pt" ForeColor="DimGray" BackColor="WhiteSmoke" BorderColor="DimGray" BorderStyle="Solid" BorderWidth="1px"></asp:Button> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td> <asp:Label id="lbtextnome" font-size="10pt" font-names="Verdana" runat="server" visible="False">Nome:</asp:Label></td> <td> <asp:Label id="lbnome" font-size="10pt" font-names="Verdana" runat="server"></asp:Label></td> </tr> <tr> <td> </td> <td> </td> </tr> </tbody> </table> </pre> Compartilhar este post Link para o post Compartilhar em outros sites