PDA

View Full Version : بررسی دسترسی به بانک برای گزارش گیری توسط کد زیر



ghazal_mohammady
پنج شنبه 16 مرداد 1393, 22:40 عصر
عرض ادب خدمت تمامی اساتید
میشه این کانکشن استرینگ رو توضیح بدین که چیه؟
من میخوام با استفاده از fast report از اس کیو ال گزارش بگیرم ، چطور تغییرش بدم؟



string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Environment.CurrentDirectory + "\\FastReports.accdb";

esafb52
جمعه 17 مرداد 1393, 02:29 صبح
این کانکشن مال دیتابیس اکسس هست شما دنبال sql

محمد آشتیانی
جمعه 17 مرداد 1393, 02:31 صبح
سلام
این کانکشن استرینگ مربوط به اکسس هست ، شما از یه کانکشن استرینگ مربوط به SqlServer باید استفاده کنی

اینجا انواع کانکشن استرینگ ها هست
http://www.connectionstrings.com

ghazal_mohammady
جمعه 17 مرداد 1393, 11:19 صبح
این کانکشن مال دیتابیس اکسس هست شما دنبال sql

بله میدونم مال اکسس هست، دنبال Sqlش می گردم

ghazal_mohammady
جمعه 17 مرداد 1393, 12:07 عصر
سلام
این کانکشن استرینگ مربوط به اکسس هست ، شما از یه کانکشن استرینگ مربوط به SqlServer باید استفاده کنی

اینجا انواع کانکشن استرینگ ها هست
http://www.connectionstrings.com

عرض ادب و سپاس
ازین کانکشن استرینگ استفاده کردم ولی نشد


Provider=SQLNCLI10;Server=myServerName\theInstance Name;Database=myDataBase;
Trusted_Connection=yes;

محمد آشتیانی
جمعه 17 مرداد 1393, 13:22 عصر
سلام
این مطلب رو قبلا نوشته بودم ، با توجه به همین رشته اتصال رو بنویسید

رشته اتصال 4 تا بخش اصلی داره که باید مشخص کنید
1- اسم سرور
2- اسم دیتابیس
3- لاگین اسکیوال سرور
4- پسورد لاگین
خب، اگه این چهار آیتم درست تو رشته اتصال تعریف بشن هیچ مشکلی نخواهید داشت.

کلا وقتی شما SqlServer رو روی سیستم نصب میکنین ، اون موتور دیتابیس با یه نام روی سیستم نصب میشه که بهش میگن Instance ، این یعنی اینکه شما میتونین در آن واحد چند بار و با نام های متفاوت SqlServer Database Engine رو روی یه سیستم نصب کنید و البته هرکدوم بصورت کاملا مجزا از همدیگه بعنوان یه دیتابیس سرور کار کنن
خب پس بدونید که اگر شما SqlServerرو با یه InstanceName خاص نصب میکنید ، موقع اتصال بهش هم دقیقا باید اسم اونو تو رشته اتصال بیارید. ضمنا روی یه سیستم شما فقط یه بار میتونید SqlServerرو با نام پیش فرض نصب کنید که بهش میگن Default Instance ، نام پیش فرض یعنی شما اگر بخواهید به اون دیتابیس انجین وصل بشید ، کافیه آدرس آی پی سیستمی که اسکیوال سرور روش نصب شده رو توی رشته اتصالتون بیارید (و یا اسم کامپیوتری که اسکیوال سرور روش نصب شده) در غیر اینصورت و اگر اسم خاصی موقع نصب مشخص کردید باید اسم رو بصورت کامل تو رشته اتصال بنویسید
مثلا فرض کنید من روی سیستم خودم یه Instance از اسکیوال سرور با اسم Mohammad نصب کردم ، با فرض اینکه IP سیستم من 192.168.1.5باشه ، توی Connection Stringباید اسم رو اینطوری بنویسم تا بشه بهش وصل شد

192.168.1.5\Mohammad

از این بحث که بگذریم ، اسکیوال سرور دو مدل اعتبار سنجی برای اتصال بهش داره
1- SqlServer Autentication
2- Windows Autentication
روش دوم بااستفاده از اکانت شخصی که تو ویندوز لاگین کرده به دیتابیس انجین وصل میشه و موقعی که قراره از یه سیستم دیگه کانکت بشی خیلی کاربردی نداره ، روش امن تر و البته اصولی تر استفاده از روش اوله که شما باید تو ConnectionString ، لاگین و پسورد مربوطه رو وارد کنید.
یه نمونه Connection String هم میزارم که با رعایت موارد بالا کار میکنه

Data Source=192.168.1.5\Mohammad;Initial Catalog=YourDB;Persist Security Info=True;User ID=sa;Password=1

تو مثال بالا ، با توضیحاتی که دادم جلوی DataSource میشه اسم سرور شما
Initial Catalogمیشه اسم دیتابیس برنامه شما
User ID - Password هم میشه مشخصات لاگین اسکیوال سرور شما که باید مشخص بشه.



موفق باشید. / محمد آشتیانی