PDA

View Full Version : استفاده از database در شبکه



hamix666
دوشنبه 08 شهریور 1395, 20:18 عصر
سلام دوستان
برنامه من بر اساس entity می باشد حالا می خوام بانک رو در شبکه استفاده کنم ولی بلد نیستم می خوام زمانی که برنامه شروع شد برای اولین بار آرس بانک رو بگیره و بهش وصل بشه و برای سری های بعد دیگه نپرسه مگر اینکه بانک رو پیدا نکنه و ضمنا قابل تغییر باشه اگه بتونید به صورت یک پروژه کوچیک برام درستش کنید ممنون می شم خیلی بهش نیاز دارم

mr.sirwan
چهارشنبه 10 شهریور 1395, 20:32 عصر
سلام دوست عزیز، همونطور که میدونین EF کانکشن استرینگ رو از فایل App.Config میخونه، برای دسترسی به این فایل از کلاس Configuration واقع در namespace System.Configuration استفاده میکنیم: صرفا جهت یه راهنمایی برای شما من نمونه ای که خودم استفاده میکنم رو میذارم:

اول یه فرمی به این شکل طراحی کن:

142290

حالا تو ایونت کلیک دکمه ثبت این کدارو بنویس:

System.Configuration.Configuration Config = ConfigurationManager.OpenExeConfiguration(Configur ationUserLevel.None);

string InitialCatalog = "Initial Catalog=YourDatabase;";

try
{
if (chkNetwork.Checked)
{
string MyConnectionString = string.Empty;
string UserLogin = string.Empty;

string DataSource = String.Format("Data Source={0},{1};", txtServerIP.Text, txtPort.Text);
if (chkLogWithUser.Checked)
{
string UserId = String.Format("User ID={0};", txtUser.Text);
string Password = String.Format("Password={0};", txtPass.Text);
string PersistSecurity = "Persist Security Info=True;";
UserLogin = string.Format("{0}{1}{2}", UserId, Password, PersistSecurity);
}

MyConnectionString = String.Format("{0}{1}{2}", DataSource, InitialCatalog, UserLogin);

Config.ConnectionStrings.ConnectionStrings["YourConnectionStringNameInApp.Config"].ConnectionString = MyConnectionString;
Config.Save(ConfigurationSaveMode.Modified, true);
ConfigurationManager.RefreshSection("YourConnectionStringNameInApp.Config");
}
else
{
string MyConnectionString = string.Empty;
string DataSource = String.Format("Data Source={0};", txtServerIP.Text);
if (chkLogWithUser.Checked)
{
string UserId = String.Format("User ID={0};", txtUser.Text);
string Password = String.Format("Password={0};", txtPass.Text);
string PersistSecurity = "Persist Security Info=True;";
MyConnectionString = String.Format("{0}{1}{2}{3}{4}", DataSource, InitialCatalog, PersistSecurity, UserId, Password);
}
else
{
string IntegratedSecurity = "Integrated Security=True;";
MyConnectionString = String.Format("{0}{1}{2}", DataSource, InitialCatalog, IntegratedSecurity);
}

Config.ConnectionStrings.ConnectionStrings["YourConnectionStringNameInApp.Config"].ConnectionString = MyConnectionString;
Config.Save(ConfigurationSaveMode.Modified, true);
ConfigurationManager.RefreshSection("YourConnectionStringNameInApp.Config");
}

MessageBox.Show("اتصال با موفقیت تنظیم شد", "اتمام عملیات", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}


امیدوارم کارت راه بیوفته

hamix666
چهارشنبه 10 شهریور 1395, 23:59 عصر
سلام دوست عزیز، همونطور که میدونین EF کانکشن استرینگ رو از فایل App.Config میخونه، برای دسترسی به این فایل از کلاس Configuration واقع در namespace System.Configuration استفاده میکنیم: صرفا جهت یه راهنمایی برای شما من نمونه ای که خودم استفاده میکنم رو میذارم:

اول یه فرمی به این شکل طراحی کن:

142290

حالا تو ایونت کلیک دکمه ثبت این کدارو بنویس:

System.Configuration.Configuration Config = ConfigurationManager.OpenExeConfiguration(Configur ationUserLevel.None);

string InitialCatalog = "Initial Catalog=YourDatabase;";

try
{
if (chkNetwork.Checked)
{
string MyConnectionString = string.Empty;
string UserLogin = string.Empty;

string DataSource = String.Format("Data Source={0},{1};", txtServerIP.Text, txtPort.Text);
if (chkLogWithUser.Checked)
{
string UserId = String.Format("User ID={0};", txtUser.Text);
string Password = String.Format("Password={0};", txtPass.Text);
string PersistSecurity = "Persist Security Info=True;";
UserLogin = string.Format("{0}{1}{2}", UserId, Password, PersistSecurity);
}

MyConnectionString = String.Format("{0}{1}{2}", DataSource, InitialCatalog, UserLogin);

Config.ConnectionStrings.ConnectionStrings["YourConnectionStringNameInApp.Config"].ConnectionString = MyConnectionString;
Config.Save(ConfigurationSaveMode.Modified, true);
ConfigurationManager.RefreshSection("YourConnectionStringNameInApp.Config");
}
else
{
string MyConnectionString = string.Empty;
string DataSource = String.Format("Data Source={0};", txtServerIP.Text);
if (chkLogWithUser.Checked)
{
string UserId = String.Format("User ID={0};", txtUser.Text);
string Password = String.Format("Password={0};", txtPass.Text);
string PersistSecurity = "Persist Security Info=True;";
MyConnectionString = String.Format("{0}{1}{2}{3}{4}", DataSource, InitialCatalog, PersistSecurity, UserId, Password);
}
else
{
string IntegratedSecurity = "Integrated Security=True;";
MyConnectionString = String.Format("{0}{1}{2}", DataSource, InitialCatalog, IntegratedSecurity);
}

Config.ConnectionStrings.ConnectionStrings["YourConnectionStringNameInApp.Config"].ConnectionString = MyConnectionString;
Config.Save(ConfigurationSaveMode.Modified, true);
ConfigurationManager.RefreshSection("YourConnectionStringNameInApp.Config");
}

MessageBox.Show("اتصال با موفقیت تنظیم شد", "اتمام عملیات", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}


امیدوارم کارت راه بیوفته
کرسی می تونی در قالب یک فایل سی شارپ بهم بدین؟
و خود سرور هم باید این رو تنظیم کنه؟

mr.sirwan
پنج شنبه 11 شهریور 1395, 00:51 صبح
اگه منظورتون اینه که میخواین نرم افزارتون رو تو کامپیوتر سرور اجرا کنین، برای این مورد تیک حالت شبکه رو بردارین و داخل تکست باکس "نام سرور" یک نقطه یا نام instance متصل به SQL Server رو بنویسین

hamix666
شنبه 20 شهریور 1395, 00:50 صبح
اگه منظورتون اینه که میخواین نرم افزارتون رو تو کامپیوتر سرور اجرا کنین، برای این مورد تیک حالت شبکه رو بردارین و داخل تکست باکس "نام سرور" یک نقطه یا نام instance متصل به SQL Server رو بنویسین
چطوری اطلاعات رو یکبار که زدم دخیره کنم و هرسری ازم نخواد و فقطزمانی بخواد که نتونه وصل بشه

hamix666
جمعه 26 شهریور 1395, 23:43 عصر
من توی همون خط اول مشکل دارم نمیشناسه

mr.sirwan
شنبه 27 شهریور 1395, 00:13 صبح
من توی همون خط اول مشکل دارم نمیشناسه

کدوم خط اول؟؟؟؟

hamix666
یک شنبه 28 شهریور 1395, 00:04 صبح
کدوم خط اول؟؟؟؟
خط اول کدی که گذاشتی
مشه بی زحمت همین رو به صورت پروژه بزاری برام
ممنونت می شم

hamix666
جمعه 02 مهر 1395, 10:44 صبح
کدوم خط اول؟؟؟؟
می شه کمکم کنین بدجوری به این کد نیاز دارم

mr.sirwan
جمعه 02 مهر 1395, 12:34 عصر
دوست عزیز assembly مربوط به System.Configuration رو به رفرنس هاتون اضافه کنین، وقتی روی add reference کلیک کردی برو توو قسمت Assemblies و System.Configuration رو پیدا کن و اضافه ش کن

باشد که رستگار شوید :لبخند:

hamix666
یک شنبه 04 مهر 1395, 22:59 عصر
دوست عزیز assembly مربوط به System.Configuration رو به رفرنس هاتون اضافه کنین، وقتی روی add reference کلیک کردی برو توو قسمت Assemblies و System.Configuration رو پیدا کن و اضافه ش کن

باشد که رستگار شوید :لبخند:
میشه بک فایل برام درست کنید بفرستید ؟
اط لطفتونممنون

ali_md110
یک شنبه 11 مهر 1395, 07:25 صبح
سلام
توی شبکه مگه چند تا دیتابیس دارید که میخاید آدرس بانک رو اول برنامه مشخص کنید؟
منظورتون از آدرس بانک چیه؟
کانکشن استرینگ برنامه توی یک برنامه بارها مورد استفاده قرار میگیره و اینجوری نیست که شما یکبار کانکشن بزنید و برای همه تراکنشهاتون فقط از همین یک کانکشن استفاده کنید
چون کانکشن زمانی که نیاز نیست dispose و قطع میشه ودوباره باید با اون به بانک متصل شد

hamix666
یک شنبه 11 مهر 1395, 10:28 صبح
سلام
توی شبکه مگه چند تا دیتابیس دارید که میخاید آدرس بانک رو اول برنامه مشخص کنید؟
منظورتون از آدرس بانک چیه؟
کانکشن استرینگ برنامه توی یک برنامه بارها مورد استفاده قرار میگیره و اینجوری نیست که شما یکبار کانکشن بزنید و برای همه تراکنشهاتون فقط از همین یک کانکشن استفاده کنید
چون کانکشن زمانی که نیاز نیست dispose و قطع میشه ودوباره باید با اون به بانک متصل شد
نه منظورم این نیست
ببنید منظورم آدرس آی پی سرور و یوزر پسورد اسکیول هست که اگر بانک روی یک سرور قرار داشته باشه چظوری کیلایت ها آدرس بانک رو بدم که به سرور وصل بشن
ضمنا من از entiti fram work استفاده می کنم برای ارتباط به بانک
امید وارم بتونم منظورم رو برسونم

ali_md110
یک شنبه 11 مهر 1395, 10:42 صبح
معمولا تنظیمات کانکشن استرینگ توی یک فایل کانفیگ ذخیره میشه
خب یک فرم طراحی کنید توی برنامتون این فایل کانفیگ که App.config یا web.config هست فراخوانی کنید و تگ مربوط به کانکشن استرینگ رو بخونید
و تغییرات رو روی اون انجام بدید و ذخیره کنید

hamix666
یک شنبه 11 مهر 1395, 11:43 صبح
معمولا تنظیمات کانکشن استرینگ توی یک فایل کانفیگ ذخیره میشه
خب یک فرم طراحی کنید توی برنامتون این فایل کانفیگ که App.config یا web.config هست فراخوانی کنید و تگ مربوط به کانکشن استرینگ رو بخونید
و تغییرات رو روی اون انجام بدید و ذخیره کنید
مشکل همینجاست که با entity برای این مورد تا حالا کار نکردم خواستم ببینم کسی تا بحال اینکارو کرده یه نمونه کدی برام بزاره

hamix666
دوشنبه 12 مهر 1395, 16:13 عصر
این هم کد app.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrame workSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="bashgah.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<connectionStrings>


<add name="Db_bashgahEntities" connectionString="metadata=res://*/Model.Model1.csdl|res://*/Model.Model1.ssdl|res://*/Model.Model1.msl;provider=System.Data.SqlClient;pr ovider connection string=&quot;data source=.;initial catalog=Db_bashgah;integrated security=True;MultipleActiveResultSets=True;App=En tityFramework&quot;" providerName="System.Data.EntityClient" />
<add name="Db_bashgahEntities1" connectionString="metadata=res://*/Model.Model1.csdl|res://*/Model.Model1.ssdl|res://*/Model.Model1.msl;provider=System.Data.SqlClient;pr ovider connection string=&quot;data source=.;initial catalog=Db_bashgah;integrated security=True;MultipleActiveResultSets=True;App=En tityFramework&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectio nFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
<system.serviceModel>
<bindings />
<client />
</system.serviceModel>
<applicationSettings>
<bashgah.Properties.Settings>
<setting name="bashgah_mywebservice_Send" serializeAs="String">
<value>http://87.107.121.54/post/Send.asmx</value>
</setting>
</bashgah.Properties.Settings>
</applicationSettings>
</configuration>

mr.sirwan
دوشنبه 12 مهر 1395, 16:50 عصر
توروخدا یکی کمک کنه بد جوری نیاز به این مورد دارم

سلام دوست عزیز، بفرمایید یه پروژه درست کردم که همینکارو میکنه، داخل فایل app.config و کد مربوط به فرم هرجا کلمه Database دیدین، به جای این کلمه اسم دیتابیس خودتون رو قرار بدین (یه Find بزنین تا همه این کلمه هارو واستون پیدا کنه)

اینم لینک (http://uploadboy.me/xjutiqv2o1rs/ConfiguringConnectionString.rar.html)

باشد که رستگار شوید

hamix666
دوشنبه 12 مهر 1395, 22:18 عصر
سلام دوست عزیز، بفرمایید یه پروژه درست کردم که همینکارو میکنه، داخل فایل app.config و کد مربوط به فرم هرجا کلمه Database دیدین، به جای این کلمه اسم دیتابیس خودتون رو قرار بدین (یه Find بزنین تا همه این کلمه هارو واستون پیدا کنه)

در ضمن این رو هم یادتون باشه که من با اینکار در اصل به شما کمک نکردم بلکه بهتون خیانت کردم دوست عزیزم. امیدوارم ناراحت نشی از این حرفم

اینم لینک (http://uploadboy.me/xjutiqv2o1rs/ConfiguringConnectionString.rar.html)

باشد که رستگار شوید
سلام مرسی از لطفت ولی الا یه مشکلی هست من کد app.congig رو گذاشتم ولی کد کانکشن من با مال شما فرق داره وقتی من کد کانکشن رو مثل مال شما می کنم برنامه به دیتا بیس وصل نمی شه چی کار باید کرد مشکل اینجاست
اینم لینک برنامه من (http://uploadboy.me/20r9fxt1kb67/ANABETON.zip.html) می شه چک کنید

mr.sirwan
سه شنبه 13 مهر 1395, 11:16 صبح
سلام مرسی از لطفت ولی الا یه مشکلی هست من کد app.congig رو گذاشتم ولی کد کانکشن من با مال شما فرق داره وقتی من کد کانکشن رو مثل مال شما می کنم برنامه به دیتا بیس وصل نمی شه چی کار باید کرد مشکل اینجاست
اینم لینک برنامه من (http://uploadboy.me/20r9fxt1kb67/ANABETON.zip.html) می شه چک کنید

متاسفانه نتونستم دانلود کنم، ارور تغییر آی پی رو میده در حالی که از هیچ برنامه تغییر آی پی استفاده نمیکنم، شما کانکشن استرینگ و متن خطا رو بذار اینجا تا بررسی بشه

hamix666
پنج شنبه 15 مهر 1395, 11:47 صبح
متاسفانه نتونستم دانلود کنم، ارور تغییر آی پی رو میده در حالی که از هیچ برنامه تغییر آی پی استفاده نمیکنم، شما کانکشن استرینگ و متن خطا رو بذار اینجا تا بررسی بشه


<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrame workSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
</configSections>
<connectionStrings>
<add name="DB_ANAEntities" connectionString="metadata=res://*/Model.Model1.csdl|res://*/Model.Model1.ssdl|res://*/Model.Model1.msl;provider=System.Data.SqlClient;pr ovider connection string=&quot;data source=.;initial catalog=DB_ANA;integrated security=True;MultipleActiveResultSets=True;App=En tityFramework&quot;" providerName="System.Data.EntityClient"/>
<add name="DB_ANAEntities1" connectionString="metadata=res://*/Model.Model1.csdl|res://*/Model.Model1.ssdl|res://*/Model.Model1.msl;provider=System.Data.SqlClient;pr ovider connection string=&quot;data source=.;initial catalog=DB_ANA;integrated security=True;MultipleActiveResultSets=True;App=En tityFramework&quot;" providerName="System.Data.EntityClient"/>
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectio nFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb"/>
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
</providers>
</entityFramework>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>

mr.sirwan
جمعه 16 مهر 1395, 10:47 صبح
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrame workSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
</configSections>
<connectionStrings>
<add name="DB_ANAEntities" connectionString="metadata=res://*/Model.Model1.csdl|res://*/Model.Model1.ssdl|res://*/Model.Model1.msl;provider=System.Data.SqlClient;pr ovider connection string=&quot;data source=.;initial catalog=DB_ANA;integrated security=True;MultipleActiveResultSets=True;App=En tityFramework&quot;" providerName="System.Data.EntityClient"/>
<add name="DB_ANAEntities1" connectionString="metadata=res://*/Model.Model1.csdl|res://*/Model.Model1.ssdl|res://*/Model.Model1.msl;provider=System.Data.SqlClient;pr ovider connection string=&quot;data source=.;initial catalog=DB_ANA;integrated security=True;MultipleActiveResultSets=True;App=En tityFramework&quot;" providerName="System.Data.EntityClient"/>
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectio nFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb"/>
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
</providers>
</entityFramework>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>




دوست عزیز شما از EF Code-first استفاده نمیکنی بلکه از یکی از دو روش Database-First یا Model-First استفاده میکنین، که بنده با کانکشن استرینگ این دو روش آشنایی ندارم و متاسفانه در این مورد نمیتونم کمکی بکنم، از دوستان درخواست دارم که ایشون رو راهنمایی بفرمایین

hamix666
جمعه 16 مهر 1395, 18:58 عصر
کسی نیست کمک کنه؟