PDA

View Full Version : اجرا برنامه با پایگاه داده sqlserverروی شبکه



مرضيه ميرزايي
دوشنبه 14 بهمن 1387, 07:53 صبح
سلام
من یک پروژه سی شارپ باپایگاه داده sql server طراحی کردم حالا می خواهم روی شبکه اجرا کنم برای این کار هم شبکه را تست کردم که درست بود هم توی کانکشن استرینگ فایل کانفیگور برنامه کلاینت ام جلوی datasource نام کامپیوتر server نوشته ام ولی باز هم اجرا نمی شود لطفا من راهنمایی کنید که چرا جواب نمی ده

kiosksoft
دوشنبه 14 بهمن 1387, 08:18 صبح
لطفا پیغام خطایی که رخ میده رو اینجا بزارید. با این توضیحات شما تشخیص و حل مشکل خیلی سخته.

اگه در حالت عادی کار میکنه , مشکل تنظیمات sqlserver هست . connectionstring تون رو هم بزارید.

مرضيه ميرزايي
دوشنبه 14 بهمن 1387, 10:08 صبح
من روی سیستم کلاینت msdeرا نصب کردم وقتی از طریق sql server service manager نصب شده روی کلاینت به جای server نام سرور شبکه را می نویسم خطا access denied می دهد و برنامه را هم که اجرا می کنم دیتا بیس نمی شناسدو کانکشن استرینگم اینه
connectionString="Data Source=10.1.2.16;Initial Catalog=tajhiz_sanat;Persist Security Info=True;User ID=sa;Password=123"

kiosksoft
دوشنبه 14 بهمن 1387, 15:23 عصر
من که متوجه نشدم , دقیقا مشکل از کجاست !

ابتدا شما از طریق محیط sqlserver یا از طریق odbc با همین نام کاربری و کلمه عبوری که دارید ,یه بار به سرور وصل بشید , ببینید اصلا شما از طریق این ابزارها امکان ارتباط با سرور را دارید یا نه.
اگه جواب گرفتید باید بریم سراغ تست برنامه . در غیر اینصورت نمیتونیم بگیم که برنامه مشکل داره یا نه.

مرضيه ميرزايي
دوشنبه 14 بهمن 1387, 15:35 عصر
پروژه من با این نام کاربری روی سرور جواب می ده یعنی من روی سرور مشکلی ندارم پروژه بدونه مشکل اجرا می شه ولی همین برنامه را روی یک سیستم دیگه (کلاینت)نصب کردم وقتی توی کانکشن استرینگ نام سرور می نویسم تا از سرور اطلا عات بگیرد اجرا نمی شود .چه مشکلاتی ممکن باشد که برنامه روی شبکه اجرا نشود؟چه تنظیمات sql server لازم است؟
تر خدا هر طور که می تونید کمکم کنید من گیر کردم

saied_genius
دوشنبه 14 بهمن 1387, 16:43 عصر
شما بايد sql server روي سرور خود را تنظيم نماييد تا بتواند به صورت remote كانكشن را دريافت نمايد.

براي اين مشكل در تاپيك زير به صورت مفصل شرح داده ام.

http://barnamenevis.org/forum/showthread.php?t=142114

سوالي بود در خدمتم.

موفق باشيد.

Leon_pro
دوشنبه 14 بهمن 1387, 17:07 عصر
باید تنظیمات مربوط به Remote Access رو Enable کنی


برو روی sql ای که رو سرور و در قسمت Setting اش مقدار Remote Access رو Enable کن

slashslash2009
سه شنبه 15 بهمن 1387, 10:44 صبح
برو روی sql ای که رو سرور و در قسمت Setting اش مقدار Remote Access رو Enable کن

سلام این قسمت دقیقا کجا هست میشه بیشتر توضیح بدین . من وارد sqlserver management studio میشم ولی نمیدونم کجاش برم setting کجاست

مرضيه ميرزايي
سه شنبه 15 بهمن 1387, 14:07 عصر
من همه مراحل را طبق لینک دوستمان
انجام دادم ولی باز هم امکان اتصال کلاینت ها به سرور نیست
خواهش می کنم هر کی هرچی می دونه بذاره من گیر کردم

saied_genius
سه شنبه 15 بهمن 1387, 16:00 عصر
::::::براي فعال كردن remote براي sqlserver بر روي سرور:::::

::اين عمليات بر روي سرور انجام شود::
1- از قسمت windows firewall : سر برگ exception : دكمه add program : كليك كرده و sqlserver خود را اضافه نماييد.

2- در sql server configuration manager : قسمت sql server 2005 network configuration : سپس protocols : سپس enabled را yes كنيد : سپس در سمت راست TCP/IP دو بار كليك كنيد : سربرگ IP Address قسمت TCP Dynamic Ports : شماره پورت جهت remote مورد نظر خود را وارد نماييد.

3-در sql server surface area configuration : در قسمت service area configuration for services and connections : سپس قسمت database engine : در قسمت local and remote connections : گزينه using TCP/IP only را فعال نماييد.


در صورتي مي توان به سرور وصل شد كه در سمت سرور، IP سرور به همراه Port ارتباطي را داشته باشيم. سرورهايي كه از آنها هاست مي گيريم مشكلي براي تنظيمات نداريم و خود آنها پورت را به همراه آي پي و user و pass براي ارتباط را به شما مي دهند.
اما اگر خودتان سرور راه اندازي كنيد بايد اين تنظيمات را انجام دهيد. (در صورت نياز به اطلاعات بيشر بگوييد تا بيشتر توضيح دهم.)
************************************************** ************

::اين عمليات بر روي كلاينت انجام شود::
در هر صورت ما نياز به آي پي و پورت داريم . Connection String ما به صورت زير خواهد بود.
(با فرض اينكه آدرس سرور ما 192.168.0.1 باشد)



Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;


يا


Data Source=190.190.200.100\Sqlexpress,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;


**در صورتي كه Alternative دارد


البته Connection String استاندارد طبق زير است، خودم به شخصه استفاده كردم جواب داده (البته شبكه داخلي ، بر روي اينترنت را نمي دانم.)


Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connecti on=False;



Server / Data Source: آي پي سرور به همراه پورت مورد نظر (1433 پورت پيش فرض SQLServer 2005 است)
Network Library: به جاي DBMSSOCN بايد TCP/IP را قرار دهيد چون به احتمال زياد از TCP/IP استفاده مي كنيد.
Initial Catalog: نام ديتابيس خود كه موجود است بر روي سرور و اجازه دسترسي به آن را داريد.
User ID: نام كاربري تعريف شده براي شما بر روي SQLServer سرور.
Password: رمز عبور تعريف شده براي شما بر روي SQLServer سرور.


::اين عمليات بر روي سرور انجام شود::
شايد ساختن user بحث مفصلي (در حد يك كتاب) داشته باشد؛ ولي به طور كلي ساختن آن به صورت زير است.

براي ساختن user:

1- از طريقSql Management Studio سرور مورد نظر را باز كنيد
2- فولدر Security را باز كنيد.
3- بر روي پوشه Logins كليكراست كرده و new Login را كليك نماييد.
4- در قسمت login name نام كاربري مورد نظر خود را وارد نماييد و در قسمت پايين تر در sql server authentication پاسورد و تاييد پسورد خود را وارد نماييد.
5- به قسمت user mapping برويد و ديتابيس مورد نظر خود را (كه مي خواهيد اين كاربر فقط به آن ديتابيس دسترسي داشته باشد) انتخاب نماييد.
6- به قسمت securables (از عنوان هاي سمت چپ) برويد.
7- بر روي add كليك نماييد و گزينه مورد نظر را انتخاب كنيد.
8- بر روي گزينه آخر كه بگذاريد كاربر به تمامي اطلاعات آن سرور كه مربوط به آن ديتابيس است را دسترسي خواهد داشت.
9- در صورتي كه مي خواهيد دسترسي محدودتري داشته باشد از گزينه هاي ديگر استفاده كنيد (كه خود بحث مفصلي دارد http://www.barnamenevis.org/forum/images/icons/icon9.gif).
10- در قسمت status (در سمت چپ) گزينه grant و Enable را (از سمت راست) انتخاب نماييد.
سپس بر روي ok كليك نماييد.

user شما آماده است.

فكر كنم ديگه كامل تر از اين نمي شه توضيح داد ....!!!

مراحل را انجام دهيد. اگر سوالي بود در خدمتم.

شرلوک هلمز
سه شنبه 15 بهمن 1387, 20:07 عصر
اگر از پروسیجر استفاده کردی برروی سرورباید به کلاینت اجازه دسرسی بدهی

refigh3
سه شنبه 15 بهمن 1387, 22:07 عصر
دوست عزيز من هم امروز اين مشكل رو داشتم كه با دستكاري يوزر ها و لاگ اين درست ميشه فقط بايد يه خورده ور رين.

مرضيه ميرزايي
چهارشنبه 16 بهمن 1387, 08:10 صبح
دوست عزیز من همه این مراحل قبلا از آدرس لینک که گذاشته بودید طی کردم ولی جواب نگرفتم
شما فکر میکنید علت دیگه ندارد

saied_genius
چهارشنبه 16 بهمن 1387, 15:49 عصر
بگوييد دقيقاً مشكل چيست يا error كه مي دهد چيست تا بهتر بتوان راهنمايي نمود.

rhm.soltani
سه شنبه 22 بهمن 1387, 16:15 عصر
چطور در یک شبکه برنامه ی کلاینت ip سرور رابفهمد ؟ کمکم کنید ممنون.