اتصال به دیتابیس SQL 2000در یک کامپیوتر دیگر
با سلام خدمت عزیزان
میدونم سوالم بسیار تکراریه ولی ......
من میخوام یه برنامه بنویسم که دیتابیسش بصورت شبکه باشه ولی نمیخوام از data snap استفاده کنم میخوام از ADO استفاده کنم
فرض کنید من در کامپیوتر به آدرس 192.168.1.2 اس کیو ال 2000 نصب کردم و دیتابیسم روی این سیستم قرار دارد
حال میخوام برنامه ای بنویسم که از کامپیوتر به آدرس 192.168.1.5 به دیتابیس مجود در 192.168.1.2 متصل بشه و کار هامو انجام بده
چه تغییراتی باید در ADOConnection و هر دو کامپیوتر و همچنین اس کیو ال سرور باید انجام بدم تا بشه این ارتباط رو برقرار کرد.
بسیار ممنون از راهنمایی هایتان
نقل قول: اتصال به دیتابیس SQL 2000در یک کامپیوتر دیگر
شما نياز به دستكاري كلاينت يا كلاينتهاتون نداريد. فقط بايد يكسري تنظيمات روي سرور اجرا كنيد.
1. توي SQL Server بايد بريد توي قسمت Tools و گزينه SQL Server Configuration Properties رو انتخاب كنيد.
2. از برگه Security مطمئن بشيد كه گزينه SQL Server and Windows تيك خورده باشه
3. از برگه Active Directory بايد روي دكمه Add كليك كنيد تا يكسري تنظيمات شبكه روي سرورتون اجرا بشه
4. حالا اون فرم رو ببنديد و توي سرورتون از بخش Security و داخل Logins يك User براي اتصال به بانكتون بسازيد (البته بصورت پيشفرض يك كاربر به اسم SA وجود داره كه مي تونيد رمزش رو به هر چي دوست داريد تغيير بديد)
حالا سرور شما آماده شده
بهترين شكل ConnectionString براي مدلي كه شما ميخواهيد استفاده كنيد حالت زير هست:
فقط يك مقدار توضيح براش مي نويسم كه به ازاي هر شرايطي خودتون بتونيد عوضش كنيد.
Data Source=MyServer;Initial Catalog=MyDataBase;Persist Security Info=True;User ID=MyUserName; pwd=MyPassword
MyServer: نام سرور يا نام كامپيوترتون
MyDataBase: اسم بانكتون
MyUserName: نام كاربري بانكتون
MyPassword: رمزي كه براي كاربرتون انتخاب كرديد
اينها مربوط به روشي هست كه شما مي خوايد با يك User از Userهاي داخلي خود SQL Server به بانكتون متصل بشيد.
اين روش بهترين يا راحت ترين نوع رشته اتصال براي اتصال به بانكهاي اطلاعاتي تحت شبكه هست. شما بايد بجاي نام سرور (يا همون MyServer) اون IP مد نظرتون رو بنويسيد تا كلاينتها بتونن سرورتون رو پيدا كنند.
اين روشي هست كه حدود 6-7 ساله كه توس اكثر برنامه هاي تحت شبكه كه اجرا كردم استفاده شده. البته داراي جزئيات و ريزه كاريهايي هست كه توي اين بحث جا نميشه.
در ضمن روشهاي ديگه اي هم هست كه شايد ساير دوستان ارائه بدن.
نقل قول: اتصال به دیتابیس SQL 2000در یک کامپیوتر دیگر
دوست گرامی ممنون از پاسختان ولی من کارایی که شما گفتین رو انجام دادم ولی نشد. یکبار دیگر مشکلم رو واضح تر توضیح میدم :
1-در کامپیوتر به آدرس 192.168.1.2 یک SQL server 2000 هست که بعنوان سرور قرار دارد و دیتابیس من روی این کامپیوتر قرار دارد و تغییراتی که دوست گرامی Masterhame میفرمایند رو انجام میدم روی سرور
2-دلفی من روی کامپیوتر به آدرس 192.168.1.5قرار دارد و من میخوام یه برنامه باهاش بنویسم که دیتابیسش تو کامپیوتر به 192.168.1.2 قرار داره و به اون متصل بشه. تو برنامم از ADOConnection استفاده میکنم
3-دلفی 7 و SQL server 2000 روی سیستم هاست
4-در کامپیوتری که دلفی نصب هست و میخوام برنامه بنویسم اس کیو ال نصب نیست
5-شبکه بین دو کامپیوتر کاملا برقرار است و هیچ اشکالی از نظر شبکه موجود نیست
6-من در ConnectinString برنامه خودم تو تب Provider گزینه ی Microsoft OLE DB Provider for SQL Server رو انتخاب کردم و در تب Connection در قسمت select or enter a server name آدرس آی پی 192.168.1.2 یعنی همان آدرسی که دیتابیسم در آن قرار دارد را نوشتم ولی وقتی در قسمت select the database on the server رو میزنم تا باز بشه ارور میده و میگه: SQL server does not exist or access denied
دیگه کاملتر از این نمیتونستم توضیح بدم
لطفان اگه میشه گاگ بگام بگین چیکار کنم
برنامم لنگ مونده
قربونتون
نقل قول: اتصال به دیتابیس SQL 2000در یک کامپیوتر دیگر
کسی نیست بتونه من رو راهنمایی کنه؟
برام خیلی حیاتی هاااااااا
نقل قول: اتصال به دیتابیس SQL 2000در یک کامپیوتر دیگر
بهتره کانکشن استرینگ رو در داخل کد به صورت رشته بنویسید
نقل قول: اتصال به دیتابیس SQL 2000در یک کامپیوتر دیگر
دوست عزیز از کد هم استفاده کردم ولی این ارور را داد :
Login Failed for user '192.168.1.2\Guest'
آیا به وجود یه SQL server بر روی کلاینت بستگی داره؟؟؟
یعنی آیا اگه در کامپیوتر کلاینت اس کیو ال نباشه نمیشه؟؟؟؟
یا اگه باشه باید چهطور باشه؟؟
یا اصلا نباید باشه؟
نقل قول: اتصال به دیتابیس SQL 2000در یک کامپیوتر دیگر
باید MSDE نصب باشه برای SQL 2000. برای کلاینت
نقل قول: اتصال به دیتابیس SQL 2000در یک کامپیوتر دیگر
آیا تنضیمات خاصی برای MSDE باید انجام بدم تا کار بکنه؟
آقای صابری چرا ارتباط من برقرار نمیشه؟
آیا باید در MSDE با سرور ارتباط برقرار کنم؟(من این کار را هم کردم ولی جواب نمیدهد چرا آخههههههه؟؟؟؟)
نقل قول: اتصال به دیتابیس SQL 2000در یک کامپیوتر دیگر
نه نیازی نیست تا انجا که یادم هست.
نقل قول: اتصال به دیتابیس SQL 2000در یک کامپیوتر دیگر
احتمالا شما سطح دسترسی تون به کامپیوتر دیگه مشکل داره یا این که با یوزر sa به اسکیول سرور وصل نمیشید...!