Inquiridor
Erro em Lista de Conteúdo externo

Pergunta
-
Boa tarde,
Estou com o seguinte problema (sharepoint 2010 Fundation),
Criei um BDCModel para acesso a um banco mysql com os seguintes metodos:
public static Colaboradores ReadItem(int id_colaboradores) { Colaboradores colaboradores = new Colaboradores(); string connectionString = "Driver={MySQL ODBC 5.1 Driver};Server=rwsrv205;Port=3333;Database=test;User=sharepoint; Password=sharepoint10312"; using (OdbcConnection connection = new OdbcConnection()) { connection.ConnectionString = connectionString; connection.Open(); OdbcCommand command = connection.CreateCommand(); string sql = "SELECT * FROM colaboradores where id_colaboradores=" + id_colaboradores; command.CommandText = sql; OdbcDataReader reader = command.ExecuteReader(); while (reader.Read()) { colaboradores.id_colaboradores = id_colaboradores; colaboradores.FirstName = Convert.ToString(reader["FirstName"]); colaboradores.LastName = Convert.ToString(reader["LastName"]); } } return colaboradores; } /// <summary> /// This is a sample finder method for Entity1. /// If you want to delete or rename the method think about changing the xml in the BDC model file as well. /// </summary> /// <returns>IEnumerable of Entities</returns> public static IEnumerable<Colaboradores> ReadList() { List<Colaboradores> Lcolaboradores = new List<Colaboradores>(); string connectionString = "Driver={MySQL ODBC 5.1 Driver};Server=rwsrv205;Port=3333;Database=test;User=sharepoint; Password=sharepoint10312"; using (OdbcConnection connection = new OdbcConnection()) { connection.ConnectionString = connectionString; connection.Open(); OdbcCommand command = connection.CreateCommand(); string sql = "SELECT * FROM colaboradores"; command.CommandText = sql; OdbcDataReader reader = command.ExecuteReader(); while (reader.Read()) { Colaboradores colaboradores = new Colaboradores(); colaboradores.id_colaboradores = Convert.ToInt32(reader["id_colaboradores"]); colaboradores.FirstName = Convert.ToString(reader["FirstName"]); colaboradores.LastName = Convert.ToString(reader["LastName"]); Lcolaboradores.Add(colaboradores); } } return Lcolaboradores; }
Debuguei este codigo e não teve nenhum erro , porem quando chamo a página recebo o erro:
Não é possível exibir esta Web Part. Para solucionar o problema, abra a página da Web em um editor de HTML compatível com o Microsoft SharePoint Foundation, como o Microsoft SharePoint Designer. Se o problema persistir, contate o administrador do servidor Web.
Quando tento abrir a página no sharepoint designer recebo o seguinte erro:
soap:ServerExceção do tipo 'Microsoft.SharePoint.SoapServer.SoapServerException' foi acionada.Erro
Procurei na net sobre estes erros e não achei nada parecido.
Desde já Agradeço.
Todas as Respostas
-
Nunca criei nada do gênero, mas da uma olhada nesse artigo, pode ser que tenha algo:
http://www.sharepoint4developers.net/pt-br/post/business-connectivity-services-parte-v.aspx
-
-
-
-
Eu estava com o mesmo problema. Tentava recuperar os dados do Banco e os utilizava como "Type Name" dos retornos dos Métodos "ReadList" e "ReadItem" das entidades do Model. Porém, sempre dava alguns erros na hora de exibir (a mensagem de erro era exatamente igual à sua). Eu descobri através da Id de Correlação que o erro era justamente no método "ReadList", mas nunca conseguia consertar. Consegui contornar o problema da seguinte forma: 1 - Para cada Tabela do banco, eu criei uma classe que espelhava os atributos da tabela. 2 - Utilizava essa classe como "Type Name" dos métodos da Entidade. Chato é que requer um pouco mais de trabalho, pois tem que criar uma classe para cada tabela. Talvez a performance seja diminuída também, imagino. Porém foi a única maneira que consegui recuperar esses dados. Espero que isso possa lhe ajudar