Ocorreu um erro ao estabelecer uma conexão com o SQL Server
Se eu tiver minha string de conexão no web.config como este (feeds de linha adicionados para melhor legibilidade):
<add
name="conn"
connectionString="Data Source=(localdb)\v11.0; Initial
Catalog=MyDB; Integrated Security=True; MultipleActiveResultSets=True;
AttachDbFilename=D:\Products.mdf"
providerName="System.Data.SqlClient"/>
A conexão funciona e eu posso conectar ao banco de dados no explorador de banco de dados.
Quando especifico o connectionstring no código ou uso o ConfigurationManager para obtê-lo, não funciona:
SqlCommand command = new SqlCommand();
command.CommandText = "select ...";
command.CommandType = CommandType.Text;
SqlConnection cn = new SqlConnection("Data Source=(localdb)\\v11.0;"+
"Initial Catalog=MyDB; Integrated Security=True; "+
"MultipleActiveResultSets=True; AttachDbFilename=D:\\Products.mdf");
command.Connection = cn;
cn.Open();
DataTable dataTable = new DataTable();
SqlDataReader reader;
reader = command.ExecuteReader();
dataTable.Load(reader);
cn.Close();
Obtendo a cadeia de conexão do web.config dá o mesmo erro:
SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings
["conn"].ConnectionString;
O erro que estou recebendo é "System.ComponentModel.Win32Exception: O caminho da rede não foi encontrado"
No rastro é dito:
Ocorreu um erro relacionado à rede ou a uma instância específica ao estabelecer uma conexão com o SQL Server. O servidor não foi encontrado ou não estava acessível. Verifique se o nome da instância está correto e se o SQL Server está configurado para permitir conexões remotas. (provedor: provedor de pipes nomeados, erro: 40 - não foi possível abrir uma conexão ao SQL Server)]
Eu preciso de alguma ajuda para resolver isso, tentando resolver isso por horas e qualquer sugestão on line é que eu deveria verificar as configurações de rede (não se aplica como está se conectando a instância local do SQL Server Express). O nome do servidor (a mesma string funciona no VS Express, mas não no código em execução).
Poderia ser um problema de autenticação? E se sim, então porque o erro un informativo?
Obrigado por ler o meu post e espero que você possa me ajudar com isso.
Atualizar:
Eu tentei as seguintes coisas:
Dado o grupo todos permissão total sobre os arquivos mdf e ldf
Nas propriedades do projeto na Web, tentei executar o projeto no servidor de desenvolvimento do VS e no servidor da Web do IIS local (é o IIS Express)
Sem sorte, ainda não é possível conectar-se onde se conecta perfeitamente bem ao copiar o código para um projeto que foi criado com "Aplicativo Web vazio do ASP.NET"