PDA

View Full Version : برقرای ازتباط با SQL در شبکه Domain



stabesh
چهارشنبه 25 اسفند 1389, 09:38 صبح
سلام
آيا ميشود در يك شبكه دمين يك كلاينت به sql server روي يك كلاينت ديگر وصل شود ؟
من اين كاررا انجام دادم ولي براي login اول با user كلاينت به sql وصل ميشه اما چون همچين user وجود نداره روي سيستم sql نميشه وصل شد بعد دوباره نام كاربري و رمز ميخواد كه در مرحله دوم sa رو وارد ميكنم اون وقت وصل ميشه بايد چي كار كنم كه مستقيم وصل بشه اين طوري خيلي خسته كننده شده
با تشكر

stabesh
شنبه 06 فروردین 1390, 15:07 عصر
اگر بخواهيم با سيستمي كه عضو دمين نيست به sql وصل شويم چه كار بايد انجام داد
با تشكر

حمیدرضاصادقیان
سه شنبه 09 فروردین 1390, 10:33 صبح
سلام دوست عزیز.
سال نو شما هم مبارک.
ببینید شما برای وصل شدن به SQL Server باید ابتدا به سیستم مورد نظر دسترسی داشته باشید. یا اینکه توسط User,Password خود SQL Server اینکارو انجام بدید. وگرنه راه خاصی نداره.

stabesh
چهارشنبه 10 فروردین 1390, 09:42 صبح
با سلام و تشكر
براي سوال اول من به سيستم دسترسي دارم به folder هاي share شده دسترسي دارم اما نميتوانم به sql server وصل شوم نميدونم مشكل از sql يا از شبكه
شايد لازمه كار خاصي روي سرور شبكه انجام بدم مثلا sql server رو در active directory معرفي كنم دسترسي براش تعريف كنم نميدونم ولي خيلي دنبالش گشتم اما بعد error هاي 53 و 17 و 18456 وصل ميشم اما خوب اين طوري درست نيست
براي سوال دوم هم آيا تنظيمات خاصي بايد انجام بدم كه به صورت remote مثل هاستاي وب بتونم وصل بشم با ip و اسم سيستم در شبكه امتحان كردم ولي access denied ميده (sql-pc.tmc.com\sana) يا sql-pc\sana\\
اسم سيستم sql-pc اسم سرور sql هم sana هست از sql server 2000 استفاده ميكنم
با تشكر فراوان

علیرضا حسن زاده
چهارشنبه 10 فروردین 1390, 10:47 صبح
برای وصل شدن با IP باید Remote و TCP/IP رو برای SQL Server فعال کنی یه یوزر پسورد هم تعریف کنی که با اون بتونی به SQL وصل بشی
سوالی در این زمینه داشتین در حد توان جواب می دم فقط PM بدین تا بیام اینجا جواب بدم

ali190
چهارشنبه 10 فروردین 1390, 11:07 صبح
سلام
شما ابتدا باید تنظیم زیر رو انجام بدید
68045
سپس به مسیر زیر رفته و يك يوزر مخصوص براي دسترسي به ديتابيسهاي مورد نظر ميدهيم
68046
سپس تنظیمات مربوط به یوزر ایجاد شده رو set میکنیم
68049

68050

سپس به محيط ديتابيس رفته و سپس اين يوزر ساخته شده را به ديتابيس اضافه ميكنيم:
68051
با این روش من خودم برنامه ام رو که با VB6+SQL2000 نوشته بودم به راحتی شبکه کردم
شما با vB6 برنامه ات رو نوشتی؟

stabesh
چهارشنبه 10 فروردین 1390, 11:31 صبح
با تشكر از دوستان
تمام كارهايي كه در عكسها قرار داديد ميدونم ولي بازم وصل نميشه آقاي ali190 سيستمي كه sql روش نصبه سيستم عاملش چيه ؟
مشكل اينجاست كه در شبكه يك windows server داريم وبه خاطر بعضي مشكلات گفتن از اون براي sql استفاده نكنيم و sql روي يكي از كلاينتها نصبه كه ويندوزش xp هست پروتكلهاي TCP\IP و named pipes هر دو فعالند
وقتي به سرور وصل ميشم اول اسم كلاينت مربوطه رو مينويسه ميگه access denied و error هاي 17 و 53 ميده بعدش تازه ميفهمه با user وارد ميشه !
با خود sa هم كه ميخوام وصل بشم همين طوريه
جداولم در sql server 2000 از اكسس ميخام بهشون وصل بشم

ali190
چهارشنبه 10 فروردین 1390, 11:56 صبح
سلام
ویندوزی که من استفاده میکنم ویندوز xp SP3 هست
شما با اکسس پروجکت با SQL2000 ارتباط برقرار کردید؟

stabesh
چهارشنبه 10 فروردین 1390, 11:59 صبح
شبكه workgroup هست يا domain
نه اكسس معمولي

ali190
چهارشنبه 10 فروردین 1390, 12:32 عصر
سلام
برای اینکه مشکل کار رو در بیاریم یه برنام هساده با vb6 برات نوشتم تا sql ات رو تحت شبکه تست کنیم
ابتدا کلیه تنظیماتی رو که در پست قبلیم گفتم رو یک به یک اعمال کنید
سپس در sql2000 یک جدول ایجاد کنید با مشخصات زیر
نام جدول : db3
فیلدها :
فیلد a
فیلد b
سپس در خود sqlserver یک یوزر ایجاد کنید با مشخصات زیر:
نام یوزر : a
پسورد :12345
سپس این یوزر رو طبق توضیحات پست قبلیم به دیتابیس اختصاص دهید (دسترسی public فراموش نشه)
حالا به فیلدها بصورت دستی چند تا مفدار بده (مثلاً 10 تا رکورد رو پر کن)
حالا فایل ضمیمه رو unzip کن
یه فایل setup وجود داره ، اون رو اجرا کن (جهت رجیستر کردن کامپوننتهای برنامه adodc و datagrid)
سپس پروژه exe رو ابتدا تو سیستم خودت تست کن
منتها تو سیستم خودت توی تکست باکسی که نام سرور رو میپرسه چیزی ننویس ، همون local درسته
یه تست کن نتیجه رو بگو
موفق باشی
یاعلی

stabesh
چهارشنبه 10 فروردین 1390, 13:44 عصر
برنامه ها رو ي سيستمه خود sql و وقتي شبكه workgroup هست درسته و وصل ميشم اما روي شبكه domain مشكل داره
تستش ميكنم و خبرشو ميدم بازم از لطفتون ممنونم

stabesh
چهارشنبه 10 فروردین 1390, 14:10 عصر
در لينك زير گفته شده كه از netstat -a استفاده كنيد تا ببينيد port 1433 كه پيش فرض خودش هست در حالت
listening يا نه اما با كمال تعجب يه در شبكه workgroup چه در domain همون طور كه در پيوست قرار دادم نيست اما در شبكه workgroup ميتونم به sql وصل بشم ولي در domain نه :متعجب::گیج:
http://www.experts-exchange.com/Microsoft/Development/MS-SQL-Server/SQL-Server-2005/Q_22701980.html
براي رفع اين مشكل در لينك زير گفته شده You need to install at least SP3a اما نميدونم چي sql يا سيستم عامل يا ...
http://www.dbforums.com/microsoft-sql-server/1200180-sql-server-not-listening-tcp-ip-client-connections.html

stabesh
چهارشنبه 10 فروردین 1390, 14:23 عصر
سلام
برای اینکه مشکل کار رو در بیاریم یه برنام هساده با vb6 برات نوشتم تا sql ات رو تحت شبکه تست کنیم
ابتدا کلیه تنظیماتی رو که در پست قبلیم گفتم رو یک به یک اعمال کنید
سپس در sql2000 یک جدول ایجاد کنید با مشخصات زیر
نام جدول : db3
فیلدها :
فیلد a
فیلد b
سپس در خود sqlserver یک یوزر ایجاد کنید با مشخصات زیر:
نام یوزر : a
پسورد :12345
سپس این یوزر رو طبق توضیحات پست قبلیم به دیتابیس اختصاص دهید (دسترسی public فراموش نشه)
حالا به فیلدها بصورت دستی چند تا مفدار بده (مثلاً 10 تا رکورد رو پر کن)
حالا فایل ضمیمه رو unzip کن
یه فایل setup وجود داره ، اون رو اجرا کن (جهت رجیستر کردن کامپوننتهای برنامه adodc و datagrid)
سپس پروژه exe رو ابتدا تو سیستم خودت تست کن
منتها تو سیستم خودت توی تکست باکسی که نام سرور رو میپرسه چیزی ننویس ، همون local درسته
یه تست کن نتیجه رو بگو
موفق باشی
یاعلی
نام جدول db3 يا نام database ؟

ali190
چهارشنبه 10 فروردین 1390, 14:26 عصر
سلام
نام دیتابیس :db3
نام جدول : table1

stabesh
چهارشنبه 10 فروردین 1390, 14:50 عصر
روي كلاينت شبكه domain وصل نميشه اما در خود سيستم و شبكه workgroup وصل ميشه

stabesh
چهارشنبه 10 فروردین 1390, 14:57 عصر
در فايل log يك خطا داده با شماره 15457 دنبال اون ميگردم شايد بفهمم مشكل از كجاست
پيوستشم كردم
با تشكر

Rejnev
چهارشنبه 10 فروردین 1390, 15:20 عصر
براي رفع اين مشكل در لينك زير گفته شده You need to install at least SP3a اما نميدونم چي sql يا سيستم عامل يا ...

sql server service pack 4
لینک صفحه: http://www.microsoft.com/downloads/en/details.aspx?FamilyId=8E2DFC8D-C20E-4446-99A9-B7F0213F8BC5&displaylang=en
لینک مستقیم دانلود (http://www.microsoft.com/downloads/info.aspx?na=46&SrcFamilyId=8E2DFC8D-C20E-4446-99A9-B7F0213F8BC5&SrcDisplayLang=en&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2 f1%2fb%2fd%2f1bdf5b78-584e-4de0-b36f-c44e06b0d2a3%2fSQL2000-KB884525-SP4-x86-ENU.EXE)
من روی یک سیستم بعد از نصب اون، تونستم کانکت بشم.
هر چند روی یک سیستم دیگه (vmware) با نسخه اس کیو ال 2000 استاندارد و بدون نصب پک 4 هم کانکت شدم.

stabesh
چهارشنبه 10 فروردین 1390, 15:20 عصر
در فايل log يك خطا داده با شماره 15457 دنبال اون ميگردم شايد بفهمم مشكل از كجاست
پيوستشم كردم
با تشكر
در اين لينك هم همينو ميگه
http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=32278
منم لينكشو پيدا كردم و دانلودش كردم ولي ميخواد sql رو upgrade كنه خرابكاري نشه
اگه ميشه راهنماييم كنيد ميدونم خودش توضيحشو گذاشته آيا واقعا لازمه ؟
http://www.microsoft.com/downloads/en/details.aspx?FamilyId=8E2DFC8D-C20E-4446-99A9-B7F0213F8BC5&displaylang=en

Rejnev
چهارشنبه 10 فروردین 1390, 15:45 عصر
نه هیچ مشکلی پیش نمیاد
اگه حین نصب خطا داد، سیستم رو ریست کن و دوباره بنصب

stabesh
چهارشنبه 10 فروردین 1390, 15:58 عصر
ممنون از همه دوستان درست شد ميتونم وصل بشم
هم به صورت remote وهم در شبكه domain

Rejnev
چهارشنبه 10 فروردین 1390, 16:14 عصر
ممنون از همه دوستان درست شد ميتونم وصل بشم
هم به صورت remote وهم در شبكه domain
بالاخره چیکار کردی؟

stabesh
چهارشنبه 10 فروردین 1390, 23:03 عصر
sql server service pack 4
رو نصب کردم

totti_acmilan17
سه شنبه 07 تیر 1390, 20:09 عصر
با توجه به راهنمایی های دوستان برنامه تحت ویندوز من شبکه شد ولی یه مشکل دیگه دارم اونم اینکه مثلا وقتی یک رکوردی رو اپدیت میکنم از یک سیستم تو شبکه در سیستم های دیگه اعمال نمیشه مگر اینکه برنامه رو در اون سیستم ها دوباره اجرا کنم لطفا راهنمایی کنید. vb.net 2005 and sql 2000
یعنی میخام وقتی یک رکورد رو که در گرید ویو در حال نمایش هست ویرایش میکنم در آن واحد تو سیستم دیگه گرید ویو ان هم تغییرات رو نشون بده و نیازی به بستن و باز کردن برنامه نداشته باشه ممنون

Rejnev
سه شنبه 07 تیر 1390, 20:39 عصر
بستن و باز کردن که نیازی نیست، باید بعد از ادیت در یک سیستم و ثبت اون در بانک، اطلاعات رو روی سیستم های دیگه دوباره بخونید.
حالا فهمیدن اینکه کدوم رکورد از کدوم جدول تغییر پیدا کرده، نیاز به کمی برنامه نویسی شبکه داره، تا بتونید تغییرات رو به گوش کامپیوتر های دیگه برسونید تا اونها همون رکورد رو و یا کل جدول رو دوباره از بانک بخونن.
البته در حد شنیدن، یک امکانی توی نسخه های بالاتر اس کیو ال هست که فکر میکنم شبیه این کار رو انجام میده... اما اطلاعاتم در این زمینه در حد صفره.
اگه هیچ کدوم ازین ها رو نمیخواید، حداقلش اینه که کاربرای دیگه برای اینکه مطمئن شن تغییری داشتیم یا نه، باید گرید رو دستی refresh کنن (دیتا رو دوباره از بانک بخونن)