var connection = ConnectionFactory.GetConnection(
ConfigurationManager.ConnectionStrings["Test"]
.ConnectionString, DataBaseProvider);
Et voici mon App.config:
<?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>
Mais lorsque mon projet est lancé, c’est mon erreur:
La référence d'objet n'est pas définie à une instance d'un objet.
Ne pouvez-vous pas simplement faire ce qui suit:
var connection =
System.Configuration.ConfigurationManager.
ConnectionStrings["Test"].ConnectionString;
Votre assemblage a également besoin d'une référence à System.Configuration.dll
Comme il s’agit d’une question très courante, j’ai préparé des captures d’écran de Visual Studio afin de faciliter la procédure en 4 étapes simples.
string str = Properties.Settings.Default.myConnectionString;
Vérifiez également que vous avez inclus la System.Configuration
dll sous vos références. Sans cela, vous n'aurez pas accès à la classe ConfigurationManager
de l'espace de noms System.Configuration.
Ajoutez d’abord une référence de System.Configuration
à votre page.
using System.Configuration;
Ensuite, en fonction de votre app.config, obtenez la chaîne de connexion comme suit.
string conStr = ConfigurationManager.ConnectionStrings["Test"].ToString();
Voilà, vous avez maintenant votre chaîne de connexion dans votre main et vous pouvez l'utiliser.
//Get Connection from web.config file
public static OdbcConnection getConnection()
{
OdbcConnection con = new OdbcConnection();
con.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["con"].ConnectionString;
return con;
}
Essayez ceci
string abc = ConfigurationManager.ConnectionStrings["CharityManagement"].ConnectionString;
1) Créez un nouveau formulaire et ajoutez ceci:
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
ensuite, lorsque vous souhaitez utiliser la connexion, faites ceci sous la forme suivante:
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()
et c'est tout. Vous serez connecté à la base de données et pourrez faire des choses.
Ceci est pour vb.net mais la logique est la même.
J'ai eu le même problème. ma solution a été construite à partir de deux projets. A Class library
et un site Web référençant le projet de bibliothèque de classes. le problème était que j'essayais d'accéder au App.config
dans mon projet Class library
mais le système cherchait dans Web.config
du site Web. Je mets la chaîne de connexion à l'intérieur de Web.config
et ... le problème est résolu!
La raison principale en était que, bien que ConfigurationManager
ait été utilisé dans une autre assemblée, il effectuait une recherche dans le projet d'exécution.
As-tu essayé:
var connection = new ConnectionFactory().GetConnection(
ConfigurationManager.ConnectionStrings["Test"]
.ConnectionString, DataBaseProvider);
string sTemp = System.Configuration.ConfigurationManager.ConnectionStrings["myDB In app.config"].ConnectionString;
Vous pouvez récupérer la chaîne de connexion en utilisant la ligne de code ci-dessous -
using System; using System.Configuration;
var connectionString=ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
Voici une référence: Connection String from App.config
Cela a fonctionné pour moi:
string connection = System.Configuration.ConfigurationManager.ConnectionStrings["Test"].ConnectionString;
Les sorties:
Source de données = .; Catalogue initial = OmidPayamak; IntegratedSecurity = True "
Il semble que le problème ne soit pas lié à la référence, vous obtenez une chaîne de connexion ayant la valeur null; assurez-vous donc que vous avez ajouté la valeur au fichier de configuration de votre projet en cours, ce qui signifie le programme/la bibliothèque principal démarré/exécuté en premier.
Vous devez d’abord ajouter la référence System.Configuration
à votre projet, puis utiliser le code ci-dessous pour obtenir la chaîne de connexion.
_connectionString = ConfigurationManager.ConnectionStrings["MYSQLConnection"].ConnectionString.ToString();
Il est possible que le PO de cette question tente d'utiliser un App.Config dans une DLL.
Dans ce cas, le code tente réellement d'accéder à App.Config de l'exécutable et non à la dll. Comme le nom n’est pas trouvé, vous obtenez un Null, d’où l’exception affichée.
Le post suivant peut être utile: ConnectionString à partir de app.config d'un DLL est null
J'ai résolu le problème en utilisant l'index pour lire la chaîne et en le vérifiant un par un. Lire en utilisant le nom donne toujours la même erreur.
J'ai le problème lorsque je développe une application pour fenêtre C #, je ne l’avais pas dans mon application asp.net. Il doit y avoir quelque chose dans le décor qui ne va pas.
J'ai référencé la bibliothèque System.Configuration
et j'ai la même erreur. Les fichiers de débogage n'avaient pas leur app.config, créez manuellement ce fichier. L'erreur est, j'ai résolu ceci en copiant le fichier "appname.exe.config" dans le dossier de débogage. Le IDE n'a pas créé le fichier.