View Full Version : سوال: مشکل در اتصال به دیتابیس با کد نویسی
Fastdesign
شنبه 22 بهمن 1390, 16:44 عصر
سلام
برای اتصال به دیتابیس اکسس به صورت می نوشتم و به دیتابیس هم متصل می شد :
dm.ADOConnection1.ConnectionString:='Provider=Micr osoft.Jet.OLEDB.4.0;Data Source='+ExtractFilePath(Application.ExeName)+'DB. mdb;Persist Security Info=False;Jet OLEDB:Database Password=hasandrwirani335';
dm.ADOConnection1.Connected:=true;
ولی حالا که دارم با دیتابیس SQL Server کار می کنم نمی دونم چجوری با کد نویسی به بانک وصل بشم .
این هم کد ها و مسیر بانک :
Frm_Main.ADOConnection1.ConnectionString:='Provide r=SQLNCLI10.1;Integrated Security="";Persist Security Info=False;User ID=sa;Initial Catalog=Basij;Data Source='+ExtractFilePath(Application.ExeName)+'.;I nitial File Name="";Server SPN=""';
Frm_Main.ADOConnection1.Connected:=true;
در ضمن از Provider :
SQL Server Native Client 10.0 استفاده می کنم .
دوستان راهنمایی کنید .
با تشکر
tiphooo
یک شنبه 23 بهمن 1390, 00:01 صبح
+ExtractFilePath(Application.ExeName) در اینجا نیاز نیست اگر کد را Copy و Paste نمی کردید این مشکل پیش نمی آمد
mojiparadox
یک شنبه 23 بهمن 1390, 09:37 صبح
بهترین کار برای پیدا کردن کد Connection String اینه که اوول یه بار با ADOConnection اون کانکشن رو بسازین و بعد از تائید گرفتن از دیتابیس، متنش رو کپی کنید و ازش استفاده کنید.
aboualfazl
سه شنبه 29 فروردین 1391, 17:36 عصر
کلا این روشها خیلی ضعیفه و فقط در local بدرد میخوره و اگه بخوای در شبکه کار کنی ، بایستی از فایل های *.udl استفاده کنید .
روش هم اینه که بایستی در درایو سی سیستمتون یک فایل connection.udl بسازید و سپس به جای لینک کردن دیتابیستون ، این رو لینک کنید و سپس این رو به دیتابیستون لینک کنید ...
حالا اون ور دیگه دیتابیستون میخواد sql باشه یا اکسس و یا هر چی ، سرورت میخواد بغلت باشه ، خودت سرور باشی و یا هر جایی ، فقط کافیه به هم ارتباط داشته باشید ...
tiphooo
پنج شنبه 31 فروردین 1391, 01:25 صبح
دوست عزیز شما روی فایل udl ساخته شده کلیک راست کرده و در notepad باز کنید اونوقت متوجه می شید توی این فایل udl چه خبره
تمامی اطلاعات از نام سرور گرفته تا username و password به راحتی قابل مشاهده است
اونوقت امنیت کجا می ره؟
aboualfazl
جمعه 01 اردیبهشت 1391, 02:25 صبح
ببخشید که این رو میگم ، ولی امنیتی که بخواد با یوزر و پسورد گذاشتن روی دیتابیس باشه ، همون بهتر که نباشه ...
بهتون توصیه می کنم تا sql injection رو مروری بکنید ، وقتی کاربر میتونه از طریق فرم لاگین دیتابیس ما رو drop بکنه ...
پس پسورد گذاشتن سودی نداره ، بهتر اینه که به جای پسورد گذاشتن user تعریف کنید و دسترسی ایشون رو محدود ...
ضمنا اساس کار sql server در سیستم هایی است که تحت شبکه کار میکنند ، در این سیستم ها فقط ادمین سرور میتونه دسترسی به دیتابیس داشته باشه و دیگه محیط local نیست ،
ضمنا اگه بخوای اون چیزا رو در نظر بگیری حتی در فایلهای config مربوط به php و asp.net و C#.net و ... هم کاملا میتونی اطلاعات مربوطه رو استخراج کنی ...
ضمنا اگه خیلی حساس هستید که کسی اطلاعاتتون رو نبینه ، میتونید فایل udl رو از دید کاربر مخفی کنید ...
حالا پیشنهاد شما برای نرم افزار های تحت شبکه چیست ؟؟؟
خوشحال میشم اگه پیشنهادتون بهتر از udlو config یاشه ...
Felony
جمعه 01 اردیبهشت 1391, 06:05 صبح
پست شماره 36 این تاپیک (http://barnamenevis.org/showthread.php?329786-%D8%A7%D8%AA%D9%88%D9%85%D8%A7%D8%B3%DB%8C%D9%88%D 9%86-%D8%A7%D8%AF%D8%A7%D8%B1%DB%8C-%DA%AF%D8%B1%D8%AF%D8%B4-%DA%A9%D8%A7%D8%B1/page4) .
tiphooo
جمعه 01 اردیبهشت 1391, 21:02 عصر
ببخشید که این رو میگم ، ولی امنیتی که بخواد با یوزر و پسورد گذاشتن روی دیتابیس باشه ، همون بهتر که نباشه ...
حق با شماست SQLServer روی سرور است و نیازی به محافظت شدید از دست بقیه کاربران ندارد
من یک مثال ساده می زنم
فرض کنید شما به عنوان یک شرکت نرم افزاری را در جایی نصب کرده اید و اصلا برایتان مهم نیست که دیتابیس یوزروپس داشته باشد
حال یک شرکت رقیب شما هم دیتابیس دیگری را بر روی سرور نصب کرده
آیا هنوز خوشبین هستید که دیتابیس جایش امن است؟
نیروهای پشتیبانی اعزامی از شرکتها به راحتی به سرور و تمام امکانات آن دسترسی دارند
حالا شما فکر بد نکنید که اینها خرابکاری کنند . فکر کنید ندانم کاری بکنند
نظیر همچین ندانم کاری را بنده به عینه شاهد بوده که مشتری به دلیل اختلافات حسابی ارائه شده به دارائی بیش از 100 میلیون تومان جریمه شده
aboualfazl
شنبه 02 اردیبهشت 1391, 15:15 عصر
وقتی میگیم یوزر (user ) یعنی اینکه فقط اون بتونه دیتابیس رو ببینه مثلا من وقتی از شرکت ayask.touhid بیام ، فقط قادر به دیدن دیتابیس خودم هستم ، ضمنا ما دیتابیس رو ضمیمه می کنیم ، منظورتون از نصب چیه ؟؟؟
نرم افزار sql server رو نصب می کنیم ولی دیتابیس رو فقط attach یا همون ضمیمه می کنیم ، یا اینکه اگه بخوایم از صفر شروع کنیم ، کد رو کامپایل و نصب دیگه معنی پیدا نمیکنه ...!!!
به هر حال میل خودتونه ، ولی نظر من به عنوان یک مهندس در این زمینه ، استفاده از *.udl به عنوان بهترین و ساده ترین راهه ...
ضمنا خوشحال میشیم تجربیات دوستان رو ببینیم ، مثلا یکی از نرم افزارهایی رو که شما طراحی کرده اید و یا اینکه در حال طراحی اش هستید و یا اینکه تو گروه نرم افزاری شما طراحی گردیده است ...
tiphooo
یک شنبه 03 اردیبهشت 1391, 15:45 عصر
وقتی میگیم یوزر (user ) یعنی اینکه فقط اون بتونه دیتابیس رو ببینه مثلا من وقتی از شرکت ayask.touhid بیام ، فقط قادر به دیدن دیتابیس خودم هستم ،دیتابیس رو
نرم افزار sql server رو نصب می کنیم ...
یعنی من به عنوان یک شرکت دیگر با UserName و Pasword که شما به راحتی در فایل udl در اختیار من قرار داده اید نمی توانم دیتابیس شما را ببینم؟
مثلا یکی از نرم افزارهایی رو که شما طراحی کرده اید و یا اینکه در حال طراحی اش هستید و یا اینکه تو گروه نرم افزاری شما طراحی گردیده است ...
نرم افزارهای طراحی شده ای که می توانم مثال بزنم در حوزه مالی و اداری سیستم حسابداری ، انبار ، اموال ، خزانه داری ، فروش ، حسابداری انبار ، خرید و تدارکات داخلی و خارجی ، پرسنلی ، حقوق و دستمزد ، تولید ، بهای تمام شده و ... می باشد که به صورت N زبانه (فقط یک Exe ولی با هر زبانی که بخواهید که از آن استفاده کنید) نصب شده در بسیاری مراکز بزرگ صنعتی داخلی و خارجی (کانادا ، هنگ گنگ ، مالزی ، سنگاپور ، دبی و ....) که کل مجموعه فوق به صورت انفرادی طراحی و پیاده سازی شده و کار تیمی نبوده
aboualfazl
دوشنبه 04 اردیبهشت 1391, 03:14 صبح
واقع نمیدونم دیگه چی بگم ، شما حتما مبحث یوزر در sql server رو مطالعه فرمایید ، اصلا یوزر و پسورد sql server ربطی به users ندارد ....
اوکی؟؟؟
این عکس زیر رو ببینید ...
86165
تقریبا متوجه خواهید شد ...
http://barnamenevis.org/images/misc/pencil.png
tiphooo
دوشنبه 04 اردیبهشت 1391, 06:15 صبح
دوست عزیز شما دارید بحث رو پیچیده می کنید من فرض رو بر این می گذارم که شما از User پیش فرض SQLServer یعنی sa استفاده کردید و یا هر User دیگری که تعریف کرده اید و برای آن پسورد هم گذاشتید اگر کامپیوترتان IP Valid دارد اینجا قرار بدهبد تا با استفاده از همان فایل udl شما من تمامی جداول شما را حذف کنم هر کاری هم می خواهید بکنید که کار من سخت تر شود
aboualfazl
دوشنبه 04 اردیبهشت 1391, 13:46 عصر
آقا این بحث دیگه فایده نداره ...
شما از روش خودتون استفاده کنید و من هم از روش خودم ... :قهقهه:
من هر چی بگم که user با username فرق میکنه ، شما حرف خودت رو میزنی ....:گیج:
.................................................. .پایان بحث............................................ ..........
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.