View Full Version : سوال: مشکل و خطا در برقراری با Access با ConnectionString در Web.Config ؟
Modifier
پنج شنبه 07 آذر 1387, 01:28 صبح
سلام علیکم
در وب کانفیگ ConnetionString رو اینطور نوشتم :
<connectionStrings>
<addname="ConnectionString"connectionString="~/App_Data/db1.mdb"providerName="System.Data.OleDb"/>
</connectionStrings>
این طور در برنامه بدستش میارم :
public static OleDbConnection GetConnection()
{
return new OleDbConnection (ConfigurationManager.ConnectionStrings["ConnectionString"].ToString());
}
ولی این خطا رو میده دقیقا در روی کد بالا:
Format of the initialization string does not conform to specification starting at index 0.
مشکل از کجاست ؟
ممنون.
یا علی.
Saber_Fatholahi
پنج شنبه 07 آذر 1387, 02:05 صبح
با سلام دوست من
کد شما و نحوه استفادتون درسته اما کانکشن استرینگ شما باید به صورت زیر باشه
<connectionStrings>
<add name="FSDBConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\SiteDB.mdb" providerName="System.Data.OleDb"/>
<add name="LoginConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\ASPNetDB.mdb" providerName="System.Data.OleDb"/>
</connectionStrings>
sara_B
پنج شنبه 07 آذر 1387, 03:41 صبح
با سلام
من خودم همیشه این جوری عمل میکنم و مشکلی هم ندارم :
مثال :
<addname="conn"connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\MyDatabase.mdf;Integrated Security=True;User Instance=True" />
و توی فولدر APP_code یه کلاس(class) مثلا به اسم دلخواه مثلا WebSettings.cs می سازم و داخلش کد زیر رو قرار می دم :
(طریقه ساخت فولدر APP_code : روی ریشه وب سایت رایت کلیک ، گزینه Add ASP.NET Folder ، , سپسAPP_Code)
publicstaticstring connstrg
{
get
{
returnConfigurationManager.ConnectionStrings["conn"].ConnectionString;
}
}
بعد هم توی برنامه مثلا به صورت زیر ازش استفاده می کنم:
SqlCommand cmd = newSqlCommand("select * from Table ", newSqlConnection(WebSettings.connstrg));
فقط به یه نکته همیشه دقت کنین که همیشه آدرس فایل MDF رو این طور بدست بیارید:
در پنل Server Explorer روی فایل دیتا بیستون کلیک کنید ، بعد کلید F4 رو بزنید تا پنجره Properties باز شه ، اون وقت متن مقابل گزینه connection string را کپی کنید.حالا برید و در Web Config و بین علامت "" روبروی عبارت connection string پیست(past) کنید.
و برای اینکه پروژه تون روی هر سیستمی کار کنه ، آدرس فایل MDF تون رو پاک کنید ، و به جاش ، مانند اولین کدی که نوشتم ، عبارت |DataDirectory| بگذارید.
sara_B
پنج شنبه 07 آذر 1387, 03:57 صبح
البته من با Sql Server واستون توضیح دادم
که با وجود مشکل تون در connection string برنامه تون هیچ فرقی نداره و سیستم خودش تشخیص می ده(چون شما فقط copy-paste می کنید و ASP خودش تنظیماتو انجام میده )
Modifier
پنج شنبه 07 آذر 1387, 17:20 عصر
با سلام دوست من
کد شما و نحوه استفادتون درسته اما کانکشن استرینگ شما باید به صورت زیر باشه
<connectionStrings>
<add name="FSDBConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\SiteDB.mdb" providerName="System.Data.OleDb"/>
<add name="LoginConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\ASPNetDB.mdb" providerName="System.Data.OleDb"/>
</connectionStrings>
نمشه آقا جون ، خطا میده :
'H:\App_Data\Db1.mdb' is not a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides.
منظورتون از DataDirectory چیه ؟
مطمئنا این نیست که آدرس فیزیکی رو کامل بنویسم ؟ اینطوری که نمیشه !
باید آدرس virtual باشه .
قبلا ها با Server.MapPath بدست می آوردیم ولی حالا میخواهیم تو فایل Web.Config بدست بیاوریم ...
چیکار کنم ؟
ممنون.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.