PDA

View Full Version : سوال: مشکل و خطا در برقراری با Access با ConnectionString در Web.Config ؟



Modifier
پنج شنبه 07 آذر 1387, 00: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, 01: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, 02: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, 02:57 صبح
البته من با Sql Server واستون توضیح دادم
که با وجود مشکل تون در connection string برنامه تون هیچ فرقی نداره و سیستم خودش تشخیص می ده(چون شما فقط copy-paste می کنید و ASP خودش تنظیماتو انجام میده )

Modifier
پنج شنبه 07 آذر 1387, 16: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 بدست بیاوریم ...

چیکار کنم ؟

ممنون.