PDA

View Full Version : سوال: استفاده از فایل udl



Payman62
پنج شنبه 02 مهر 1388, 02:10 صبح
سلام.
من میخوام با روشی کانکشن استرینگ رو تعریف کنم که بعد برنامه رو جای دیگه خواستم نصب کنم به مشکل بر نخورم.
مثلا روشی مثل استفاده از فایل udl. حالا چند تا سوال.
1- آیا روش بهتری سراغ دارید؟
2- در دات نت 2008 نحوه خواندن فایل udl به چه صورته؟
2- اگه یوزر و پس در دیتابیس استفاده کنیم به چه صورت باید عمل کنیم. چون فایل udl پسورد رو به راحتی نشون میده.

meysam_pro
پنج شنبه 02 مهر 1388, 09:05 صبح
من واسه رفع این مشکل یه سرویس نوشتم که که یه سوکت منتظر کانکت شدنه و کلاینت ها بهش کانکت میشن و ConStr رو میخونن.(پورت سوکت رو ثابت در نظر گرفتم و ConStr رو از App.Config تو سرور ، در استارت شدن سرویس بررسی میکنم و همینطور قفل رو).

Payman62
پنج شنبه 02 مهر 1388, 12:20 عصر
سلام.
روش مناسبی نیست که رو سرور پورت باز کنم. اگه بخوام پورت باز کنم یه دفعه اطلاعات آپدیتی رو هم میفرستم.
میخوام بعد از نصب کانکشن استرینگ رو از بیرون به برنامه بدم.

meysam_pro
پنج شنبه 02 مهر 1388, 14:57 عصر
روش مناسبی نیست که رو سرور پورت باز کنم
چرا؟

اگه بخوام پورت باز کنم یه دفعه اطلاعات آپدیتی رو هم میفرستم.
:متفکر:

Payman62
جمعه 03 مهر 1388, 01:02 صبح
سلام.
چون امنیت سرور بالاست. حتی الامکان نباید روش پورت باز شه. فایروال گیر میده. کلا دردسر داره.

این فایل udl رو چرا کسی راهنمایی نمیکنه؟

Ali_M_K
جمعه 03 مهر 1388, 09:21 صبح
يكي از روشهاي خوبي كه خودم استفاده ميكنم و OO هم هست Bind كردن رشته اتصال به فايل تنظيمات پروژه است. ( setting.setting البته تو C# ) اونجا يه متغير تعريف ميكني و برابر رشته قرارش ميدي. در اين روش هر بار ژس از تغيير، يه بار بايد برنامه رو كامپايل كني و اين تنها ايراده در مقابل هيچ مشكلي در امنيت نداره...
اگه بخواي از طريق اينتر فيس هم كار كني بايد از طريق properties مربوط به شيئ connection ميتوني خصوصيت connection string رو تو فايل تنظيمات پروژه ات ذخيره كني...

Ali_M_K
جمعه 03 مهر 1388, 09:35 صبح
در مورد فايل udl هم كار خيلي راحت تره و امنيت كمتر...
يه فايل متني با پسوند udl ميسازي و اونو با دبل كليك بازش ميكني... بقيه كارها خود به خود انجام ميشه...




With MyConnection
.ConnectionString = "File Name=" & <Path> & "\" & UDLName & ".UDL;"
.CursorLocation = adUseClient
.ConnectionTimeout = 0
.CommandTimeout = 0
.Open
End With

Ali_M_K
جمعه 03 مهر 1388, 09:43 صبح
2- در دات نت 2008 نحوه خواندن فایل udl به چه صورته؟




راستي دوست عزيز ميدوني كه udl فايل ها مربوط به OLE ميشند و براي Sql Provider ها نميشه از اونها استفاده كرد ؟

Payman62
جمعه 03 مهر 1388, 14:13 عصر
سلام.
اگه بخوام از ستینگ استفاده کنم که خوب یه متغیر تعریف میکنم. ستینگ چه برتری به متغیر داره؟
کلا من مشکلم همینه که هر دفعه مجبور نشم پروژه رو کامپایل کنم. میخوام 1 ستاپ بسازم و دفعه های بعد تنظیمات کانکشن رو از بیرون بدم.

ظاهرا روش خواندن فایل udl فرق نکرده و به همون صورت سابق جواب میده.

OleDbConnection myConnection = new OleDbConnection("File Name = f:\\a.udl");

در مورد ole. من نمیخوام با ole کار کنم. ترجیح میدم با sqlconnection کار کنم.
حالا مثلا اگه udl رو بخونم ( یعنی با system.io ) و جای کانکشن استرینگ استفاده کنم چطوره؟ روش مناسب تری سراغ دارید؟ یوزر و پس دیتابیس رو هم میشه داخل برنامه به کانکشن استرینگ اضافه کرد.

امنیت هم برای من خیلی مهمه. در این صورت که کاربر به راحتی میتونه udl رو دست کاری کنه و ارتباط با سرور قطع بشه.

در نهایت چه روشی پیشنهاد میکنید؟

meysam_pro
جمعه 03 مهر 1388, 15:54 عصر
لا من مشکلم همینه که هر دفعه مجبور نشم پروژه رو کامپایل کنم. میخوام 1 ستاپ بسازم و دفعه های بعد تنظیمات کانکشن رو از بیرون بدم.
فکر کردم زیادی خفنی، اون پیشنهاد رو دادم، نگو دنبال app.config و ... هستی.:قهقهه:

Payman62
جمعه 03 مهر 1388, 16:51 عصر
سلام.


فکر کردم زیادی خفنی، اون پیشنهاد رو دادم، نگو دنبال app.config و ... هستی.:قهقهه:

به پیشنهاد خودت میخندی؟
ناشیانه ترین راهه. من اگه IP سرور رو داشتم که بهش کانکت بشم که خوب مستقیما تو کانکشن استرینگم ازش استفاده میکردم.
مشکل این جاست که آدرس همه سرور ها یکی نیست. اول در مورد سوال فکر کن بعد پاسخ بده. اطلاعات هم نداری مجبور نیستی پاسخ بدی.

ضمنا کمی در مورد امنیت شبکه مطالعه کن.

meysam_pro
جمعه 03 مهر 1388, 21:27 عصر
اول در مورد سوال فکر کن بعد پاسخ بده
خیلی وقت پیش فکر کردم و سیستمم با کلاینت بالا داره کار میکنه.

اطلاعات هم نداری مجبور نیستی پاسخ بدی
نیازی ندارم تو من تایید کنی.


کلا من مشکلم همینه که هر دفعه مجبور نشم پروژه رو کامپایل کنم. میخوام 1 ستاپ بسازم و دفعه های بعد تنظیمات کانکشن رو از بیرون بدم
یاد گرفتی چطوری app.config به برنامه ات اضافه کنی، تازه میفهمی تو Deploy کردن چه مشکلی داری(البته اگه برنامه ات کلاینت زیادی داره، برنامه دانشجویی و غیره رو نمیگم).
راستی دنبال encrypt کردن رشته هم بخون.

Payman62
جمعه 03 مهر 1388, 21:45 عصر
سلام.


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


آفرین به شما.
حالا لطفا اجازه بده دوستان متخصص پاسخ بدن.


سلام.
اگه بخوام از ستینگ استفاده کنم که خوب یه متغیر تعریف میکنم. ستینگ چه برتری به متغیر داره؟
کلا من مشکلم همینه که هر دفعه مجبور نشم پروژه رو کامپایل کنم. میخوام 1 ستاپ بسازم و دفعه های بعد تنظیمات کانکشن رو از بیرون بدم.

ظاهرا روش خواندن فایل udl فرق نکرده و به همون صورت سابق جواب میده.



OleDbConnection myConnection = new OleDbConnection("File Name = f:\\a.udl");

در مورد ole. من نمیخوام با ole کار کنم. ترجیح میدم با sqlconnection کار کنم.
حالا مثلا اگه udl رو بخونم ( یعنی با system.io ) و جای کانکشن استرینگ استفاده کنم چطوره؟ روش مناسب تری سراغ دارید؟ یوزر و پس دیتابیس رو هم میشه داخل برنامه به کانکشن استرینگ اضافه کرد.

امنیت هم برای من خیلی مهمه. در این صورت که کاربر به راحتی میتونه udl رو دست کاری کنه و ارتباط با سرور قطع بشه.

در نهایت چه روشی پیشنهاد میکنید؟

Payman62
یک شنبه 05 مهر 1388, 15:15 عصر
سلام.
کسی نظری نداره؟