Obter o texto da ligação da aplicação.configuracao
var connection = ConnectionFactory.GetConnection(
ConfigurationManager.ConnectionStrings["Test"]
.ConnectionString, DataBaseProvider);
E esta é a minha aplicação.configuração:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="Test" connectionString="Data Source=.;Initial Catalog=OmidPayamak;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
mas quando o meu projecto é executado este é o meu erro:
a referência do objecto não é definida para uma instância de um objecto.
18 answers
Não podes fazer o seguinte:
var connection =
System.Configuration.ConfigurationManager.
ConnectionStrings["Test"].ConnectionString;
A sua Assembleia também precisa de uma referência a System.Configuration.dll
string str = Properties.Settings.Default.myConnectionString;
Verifique também se incluiu o {[[0]} dll nas suas referências. Sem ele, você não terá acesso à classe ConfigurationManager
no sistema.Espaço de nomes de configuração.
Primeiro adicione uma referência de System.Configuration
à sua página.
using System.Configuration;
Então de acordo com a tua aplicação .config obtém o texto de ligação como se segue.
string conStr = ConfigurationManager.ConnectionStrings["Test"].ToString();
É isso agora que tens o fio de ligação na mão e podes usá-lo.
//Get Connection from web.config file
public static OdbcConnection getConnection()
{
OdbcConnection con = new OdbcConnection();
con.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["con"].ConnectionString;
return con;
}
Experimenta isto
string abc = ConfigurationManager.ConnectionStrings["CharityManagement"].ConnectionString;
1) Crie um novo formulário e adicione isto:
Imports System.Configuration
Imports Operaciones.My.MySettings
Public NotInheritable Class frmconexion
Private Shared _cnx As String
Public Shared Property ConexionMySQL() As String
Get
Return My.MySettings.Default.conexionbd
End Get
Private Set(ByVal value As String)
_cnx = value
End Set
End Property
End Class
Depois, quando quiser usar a ligação, faça isto em ur:
Private Sub frmInsert_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim cn As New MySqlConnection(frmconexion.ConexionMySQL)
cn.open()
E pronto. Você será conectado ao DB e pode fazer coisas.
Isto é para ... vb.net mas a lógica é a mesma.
Já tentaste:
var connection = new ConnectionFactory().GetConnection(
ConfigurationManager.ConnectionStrings["Test"]
.ConnectionString, DataBaseProvider);
App.config
no meu projeto {[[0]} mas o sistema estava procurando em Web.config
do site. Pus o fio de ligação dentro e ... .. problema resolvido!
A principal razão foi que apesar de ConfigurationManager
ter sido usado noutra assembleia, estava a procurar dentro do projecto runnig .
string sTemp = System.Configuration.ConfigurationManager.ConnectionStrings["myDB In app.config"].ConnectionString;
Pode obter o texto da ligação usando a linha abaixo do Código -
using System; using System.Configuration;
var connectionString=ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
Aqui está uma referência. :
texto de ligação da aplicação.configuração
Parece que o problema não é com a referência, você está ficando connectionstring como nulo, por isso certifique-se de ter adicionado o valor ao arquivo de configuração o seu projeto em execução, o que significa o programa/biblioteca principal que começa/executa primeiro.
É possível que o OP nesta questão esteja a tentar usar uma aplicação.Config dentro de um dll.
Neste caso, o código está a tentar aceder à aplicação.Configuração do executável e não do dll. Uma vez que o nome não é encontrado, você recebe um NULL retornado, daí a exceção mostrada.O seguinte post pode ser útil: Ligação da aplicação.a configuração de um DLL é nula
Primeiro tem de adicionar System.Configuration
referência ao seu projecto e depois usar o código abaixo para obter o texto de ligação.
_connectionString = ConfigurationManager.ConnectionStrings["MYSQLConnection"].ConnectionString.ToString();
string connection = System.Configuration.ConfigurationManager.ConnectionStrings["Test"].ConnectionString;
Saídas:
Fonte De Dados=.;Catálogo Inicial = OmidPayamak;Segurança Integrada=True "
Fiz referência à biblioteca System.Configuration
e tenho o mesmo erro.
Os ficheiros de depuração não tinham a sua aplicação.configuração, criar manualmente este ficheiro.
O erro é, Eu resolvi isso copiando o arquivo " appname.exe.configuração " na pasta de depuração. O IDE não foi criar o arquivo.
Resolvi o problema usando o índice para ler o texto e verificar um por um. Ler usando o nome ainda dá o mesmo erro.
Eu tenho o problema quando eu desenvolver uma aplicação C# janela, eu não tive o problema em meu asp.net aplicação. Deve haver algo no cenário que não esteja certo.