PDA

View Full Version : connectionString در webconfig در ASP.net



jojoba2010
دوشنبه 10 مهر 1391, 13:19 عصر
با سلام خدمت دوستان
من بانک sql خود را در program files سیستم مشتری کپی می کنم.حال می خواهم در connectionstring موجود در web.config بگویم که attach کند.
نمی دانم چگونه باید آدرس program files را بهش بدم زیرا ممکن است درایو متفاوتی باشد C , D ,.... به همین منظور از کلمه کلیدی %programfiles% استفاده کردم که بی ثمر است..


<connectionStrings>
<add name="SqlConnStr" connectionString="Data Source=.\CMSNegin;AttachDbFilename=%programfiles%\ TSMS.mdf;Initial Catalog=NeginDB;uid=sa;pwd=A!w091$%^ggrf0923" providerName="System.Data.SqlClient"/>

</connectionStrings>


لطفا راهنمایی نمایید
با تشکر
jojoba

saeed_sho
دوشنبه 10 مهر 1391, 14:00 عصر
شما دیتابیسو دستی در اس کیو ال attach کنید بعد برای کانکت شدن از initial catalog استفاده کنید

hamed_hossani
دوشنبه 10 مهر 1391, 18:09 عصر
به جای programsfile بگذارید
Below code is used to find out the current working directory. below are two ways to find out the startup directory or project startup project path the code i have used is in c#.

1st method:
string startupPath = System.IO.Directory.GetCurrentDirectory();

2nd method:
string startupPath = Environment.CurrentDirectory; (http://www.dotnetspark.com/kb/135-current-working-directory-project-startup.aspx)

jojoba2010
سه شنبه 11 مهر 1391, 07:17 صبح
با سلام و تشکر از شما.
من چگونه از این کد در Web.Config استفاده کنم؟
چگونه بفهمم که کدام داریو سیستمی (مثلا C) می باشد؟

hamed_hossani
سه شنبه 11 مهر 1391, 08:35 صبح
کد گفته شده برای کد های c# به کار میره!

من بانک sql خود را در program files سیستم مشتری کپی می کنم
مسیر پوشه را به صورت دستی کپی کنید
+ یا از طریق دستور createDirectory پوشه را در مسیر دلخواه بسازید!

jojoba2010
سه شنبه 11 مهر 1391, 11:15 صبح
با سلام
ممنون از پاسخ :
من با کمک یک نرم افزار به صورت اتوماتیک در پوشه Program Files سیستم مشتری بانک را کپی می کند که حال معلوم نیست که Program Files در کدام درایو می باشد. به همین منظور می خواهم از کلمات کلید مانند %SystemDrive% استفاده کنم تا خودش اتوماتیک تشخیص دهد.که باید در web.config باید ایجاد نمایم:
AttachDbFilename=%programfiles%\TSMS.mdf

saeed_sho
سه شنبه 11 مهر 1391, 18:50 عصر
protected void Button1_Click(object sender, EventArgs e)
{
// Get the file path for the current web request
string webPath = Request.ApplicationPath;
// Get configuration object of the current web request
Configuration config =
System.Web.Configuration.WebConfigurationManager.O penWebConfiguration(webPath);
// Create new connection setting from text boxes
ConnectionStringSettings newConnSetting = new
ConnectionStringSettings(txtName.Text, txtValue.Text, txtProvider.Text);
try
{
// Add the connection string to the collection
config.ConnectionStrings.ConnectionStrings.Add(new ConnSetting);
// Save the changes
config.Save();
}
catch (ConfigurationErrorsException cEx)
{
lblStatus.Text = "Status: " + cEx.ToString();
}
catch (System.UnauthorizedAccessException uEx)
{
// The ASP.NET process account must have read/write access to the directory
lblStatus.Text = "Status: " + "The ASP.NET process account must have" +
"read/write access to the directory";
}
catch (Exception eEx)
{
lblStatus.Text = "Status: " + eEx.ToString();
}

jojoba2010
سه شنبه 11 مهر 1391, 19:54 عصر
با سلام
من می خواهم در خود web.Config در <connectionString> می خواهم قرار دهم.
<connectionStrings>
<add name="SqlConnStr" connectionString="Data Source=.\CMSNegin;AttachDbFilename=%systemdrive%\P rogram Files\CMSNegin\Data\MSSQL10.CMSNegin\MSSQL\DATA\1\ NeginDB.mdf;uid=sa;pwd=A@D#F$G%" providerName="System.Data.SqlClient"/>

</connectionStrings>