InvalidOperationException: Connection property has not been initialized in Asp.Net Core
Dung Do Tien Sep 11 2021 177
Hello Guys, I have a small project with Asp.Net Core and Postgree database. I have a function to help get all data as below
public List<Entities.Websatellite> GetAll()
{
string storeName = "func_ad_websatellite_getall";
try
{
using (var db = new PostgresSQL())
{
var lst = new List<Entities.Websatellite>();
using (var command = db.CreateCommand(storeName, true))
{
using (var reader = command.ExecuteReader())
{
if (reader.HasRows)
{
while (reader.Read())
{
var obj = new Entities.Websatellite();
EntityBase.SetObjectValue(reader, ref obj);
lst.Add(obj);
}
}
}
}
return lst;
}
}
catch (Exception ex)
{
throw new Exception(string.Format("{0} => {1}", storeName, ex.ToString()));
}
}
But when I run code I get an exception Connection property has not been initialized.
System.Exception
HResult=0x80131500
Message=func_ad_websatellite_getall => System.InvalidOperationException: Connection property has not been initialized.
at Npgsql.NpgsqlCommand.CheckReadyAndGetConnector()
at Npgsql.NpgsqlCommand.<ExecuteDbDataReader>d__100.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Npgsql.NpgsqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
at Npgsql.NpgsqlCommand.ExecuteReader()
at ABC.WIS.DAL.Websatellite.WebsatelliteDal.GetAll() in D:\Mex\admin\automexico\Backend\Websatellite\WebsatelliteDal.cs:line 24
Source=DVG.MexicoAuto.DAL
StackTrace:
at ABC.WIS.DAL.Websatellite.WebsatelliteDal.GetAll() in D:\Mex\admin\automexico\Backend\Websatellite\WebsatelliteDal.cs:line 42
at ABC.MexicoAuto.BSL.AutoCrawlReviewBLL..ctor(IBrandBLL brandBLL, IModelBLL modelBLL, IVersionBLL versionBLL, IRegionsBLL regionBLL, ICitiesBLL citiesBLL, IProductDal productDal, IWebsatelliteDal websatelliteDal, IProductBo productBo) in D:\Mex\admin\automexico\Common\AutoCrawlReviewBLL.cs:line 63
at Ad_AutoCrawlReview.Process..ctor() in D:\Mex\admin\automexico\Ad_AutoCrawlReview\Process.cs:line 58
at Ad_AutoCrawlReview.Program.Main() in D:\Mex\admin\automexico\Ad_AutoCrawlReview\Program.cs:line 23
I check the connection, it is not empty. it is below
67.6.3.4.3;Port=3423;User Id=user_web;Password=32444334;Database=food_eat;CommandTimeout=320
I use Asp.net core version 3.1. Thanks for any suggestions.
Have 1 answer(s) found.
- J0
Jide Sep 11 2021
Connection property has not been initialized throw when you can't open connection. have some reason below:
- Wrong syntax of the connection string
- Information is not correct such as server name, user or pass are not correct.
- The connection string is right but you do not have permission to access it.
But see your connection string I think you are the wrong syntax. change :
67.6.3.4.3;Port=3423;User Id=user_web;Password=32444334;Database=food_eat;CommandTimeout=320
To
Server=67.6.3.4.3;Port=3423;User Id=user_web;Password=32444334;Database=food_eat;CommandTimeout=320
I hope it work well for you.
* Type maximum 2000 characters.
* All comments have to wait approved before display.
* Please polite comment and respect questions and answers of others.