CONEXAO MYSQL SERVIDOR WEB

DARTAGNAN 22/08/2017 00:13:15
#475921
Bom dia

sou iniciante no c#, desculpe as noobagem rs.

Estou com um problemas para conectar ao mySQL que esta em uma hospedagem LOCAWEB

estou usando o seguinte codigo

      protected void Page_Load(object sender, EventArgs e)
{
nome.Text = [Ô]Teste Conexao mysql[Ô] + [Ô][Ô] + DateTime.Now;


MySqlConnection conexao = new MySqlConnection([Ô]server=CAMINHO DO SERVIDORr;User Id=USUARIO;database=BANCO; password=SENHA[Ô]);
MySqlCommand comando = new MySqlCommand([Ô]SELECT * FROM PRODUTOS[Ô], conexao);
DataTable tabela = new System.Data.DataTable();
try
{
conexao.Open();
gdvDados.DataSource = comando.ExecuteReader();
gdvDados.DataBind();
}
finally
{
conexao.Close();
}
}


No visutal studio eu coloquei o caminho do BD que esta la no servidor LOCAWEB, ele puxa tudo bonitinho, mas quando eu coloco essa mesma pagina dentro do servidor locaweb, ele ta erro:

  Server Error in [ô]/[ô] Application.

Runtime Error

Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a [Ô]web.config[Ô] configuration file located in the root directory of the current web application. This <customErrors> tag should then have its [Ô]mode[Ô] attribute set to [Ô]Off[Ô].


fica dando erro de web.config.

obs: a tabela que ta puxando no visual studio esta no servidor locaweb, eu nao a possuo localmente.
: o mesmo codigo pelo visual studio funciona, quando coloco na hospedagem, nao funciona.
estou publcando o site pelo proprio visual studio.

Obrigado.

DARTAGNAN 22/08/2017 00:32:12
#475922
Configurei para mostrar o erro, me apareceu isso.

  Server Error in [ô]/[ô] Application.

Security Exception

Description: The application attempted to perform an operation not allowed by the security policy. To grant this application the required permission please contact your system administrator or change the application[ô]s trust level in the configuration file.

Exception Details: System.Security.SecurityException: Request for the permission of type [ô]System.Security.Permissions.SecurityPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089[ô] failed.

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:


[SecurityException: Request for the permission of type [ô]System.Security.Permissions.SecurityPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089[ô] failed.]
MySql.Data.MySqlClient.MySqlConnection.AssertPermissions() +0
MySql.Data.MySqlClient.MySqlConnection.Open() +190
evlamysql.Page_Load(Object sender, EventArgs e) +164
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +51
System.Web.UI.Control.OnLoad(EventArgs e) +95
System.Web.UI.Control.LoadRecursive() +59
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6569
System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +245
System.Web.UI.Page.ProcessRequest() +72
System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +22
System.Web.UI.Page.ProcessRequest(HttpContext context) +58
ASP.evlamysql_aspx.ProcessRequest(HttpContext context) +4
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +188
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +69

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.7.2053.0
DARTAGNAN 28/08/2017 15:36:57
#476054
Descobri que o problema é porque a hospedagem locaweb esta configurada para Medium trust

e entao esta bloquiando o meu tipo de conexao...

Alguem sabe como fazer conectar quando a seguranca esta em Medium trust?

Obrigado
KERPLUNK 28/08/2017 15:52:16
#476056
Resposta escolhida
Isso é uma política de configuração. Você precisa adicionar isso ao seu Web.config:

<mscorlib>
<security>
<policy>
<PolicyLevel version=[Ô]1[Ô]>
<SecurityClasses>
<SecurityClass Name=[Ô]MySqlClientPermission[Ô] Description=[Ô]MySql.Data.MySqlClient.MySqlClientPermission, MySql.Data, Version=6.6.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d[Ô]/>
</SecurityClasses>
</PolicyLevel>
</policy>
</security>
</mscorlib>


E caso já não esteja dentro da tag <system.web>, você precisa adicionar:

<assemblies>
<add assembly=[Ô]MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D[Ô]/>
<add assembly=[Ô]MySql.Data.Entity, Version=6.5.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D[Ô]/>
<add assembly=[Ô]MySql.Web, Version=6.5.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D[Ô]/>
</assemblies>


Atenção às versões, altere as versões de acordo com o que você está usando...
DARTAGNAN 30/08/2017 16:55:25
#476140
Não deu certo Kerplunk..

Como consigo dar downgrade nas DLL do mySql? colocar uma dll mais antiga?

coloquei assim no web.config:

 <?xml version=[Ô]1.0[Ô]?>
<configuration>
<mscorlib>
<security>
<policy>
<PolicyLevel version=[Ô]1[Ô]>
<SecurityClasses>
<SecurityClass Name=[Ô]MySqlClientPermission[Ô] Description=[Ô]MySql.Data.MySqlClient.MySqlClientPermission, MySql.Data, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d[Ô]/>
</SecurityClasses>
</PolicyLevel>
</policy>
</security>
</mscorlib>

<system.web>
<assemblies>
<add assembly=[Ô]MySql.Data, Version=6.9.9.0,Culture=neutral, PublicKeyToken=C5687FC88969C44D[Ô]/>
<add assembly=[Ô]MySql.Data.Entity, Version=6.9.9.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D[Ô]/>
<add assembly=[Ô]MySql.Web, Version=6.9.9.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D[Ô]/>
</assemblies>
</system.web>

</configuration>



Apareceu os erros:

  Error Code	   0x80070032
Config Error The configuration section [ô]assemblies[ô] cannot be read because it is missing a section declaration


  Config Source:
14:
15: <assemblies>
16: <add assembly=[Ô]MySql.Data, Version=6.9.9.0,Culture=neutral, PublicKeyToken=C5687FC88969C44D[Ô]/>


KERPLUNK 30/08/2017 16:59:18
#476141
Você leu a mensagem de erro? Caso não fale inglês, já traduziu a mensagem?
Um erro não é um [Ô]mistério[Ô], ele tem uma mensagem indicando o que está errado...
DARTAGNAN 30/08/2017 17:14:03
#476143
Eu li, mas eu não entendo bem de c# nem de web.config, estou aprendendo por agora, ao criar essa conexao, no pc local funcionou direitinho, entao pra mim ao de separar com esse problema de Medium Trust é 100% novidade
estou pesquisando para saber qual sessao que esta faltando para colocar para poder ler o assemblies,

inclusive, seus videos são muito bons para quem quer aprender C#, eu estou aprendendo por eles.
Obrigado pelos videos

DARTAGNAN 30/08/2017 17:16:06
#476144
O que acho mais estranho, é que meu test [Ô]local[Ô] na verdade acessa direto ao servidor, pq o caminho é do servidor online, e ele puxa a tabela que esta online...
e funciona direitinho..

nao entendo porque na propria pagina nao funciona.



KERPLUNK 30/08/2017 17:16:48
#476145
Bacana que gosta dos vídeos, mas sugiro que comece com coisas mais simplificadas, tente fazer conexões remotas mais adiante. Até porque, elas dependem muito mais de rede do que necessariamente de código...
KERPLUNK 30/08/2017 17:18:58
#476146
Citação:

:
O que acho mais estranho, é que meu test [Ô]local[Ô] na verdade acessa direto ao servidor, pq o caminho é do servidor online, e ele puxa a tabela que esta online...
e funciona direitinho..

nao entendo porque na propria pagina nao funciona.




Porque a página está hospedada no servidor remoto, que exige segurança média de conexão ao banco. Não é a mesma estrutura que você tem local. No servidor remoto, a aplicação está em um ponto e o banco está em outro e essa comunicação entre os dois exige que se use protocolos de segurança com nível mais alto de segurança do que o mínimo.
DARTAGNAN 30/08/2017 17:30:48
#476147
Agora entendi, e é exatamente esses protocolos de segurança que estão barrando meu acesso na pagina web..

Ando pesquisando, mas nunca acho uma resposta que funcione, vi muita gente que desistiu, e procurou servidores full trust..

Irei continuar na busca, fiz teste com php, funciona direitinho, mas não queria cair para o php, pois estou tentando aprender o c#.

Muito obrigado pela atenção :-)



Página 1 de 2 [14 registro(s)]
Tópico encerrado , respostas não são mais permitidas