PDA

View Full Version : اتصال به بانک اطلاعاتی SQL Server تحت اینترنت با IP Valid



Delphi 2010
سه شنبه 15 فروردین 1391, 20:01 عصر
سلام خدمت همه دوستان گرامی
چطوری میشه یه برنامه رو به بانک اطلاعاتی SQL Server وصل کرد؟

IP Valid سیستم سرور رو دارم و پورت SQL Server هم 80631 هستش.
از یه سیستم دیگه تحت اینترنت نمیشه وصل بشم به سرور مرکزی

زبان برنامه نویسی Delphi XE
AdoConnection
بانک اطلاعاتی SQL Server 2008
این هم مشخصات سیستم کار من هستش

در ضمن میخواستم بدونم سرعت اتصال و کار با بانک تحت اینترنت پائین هستش یا نه.
میشه تحت اینترنت با سرعت بالا تبادل اطلاعات با بانک اطلاعاتی بکنیم

ممنون میشم کمک کنید

hamid-nic
چهارشنبه 16 فروردین 1391, 00:12 صبح
از یه سیستم دیگه تحت اینترنت نمیشه وصل بشم به سرور مرکزی
یعنی چی ؟ چه خطایی دارین ؟
با داشتن آی پی ولید و نام کاربری و رمز عبور (مثلا برای کاربر sa) و همچنین فعال کردن حالت windows mixed mode در sql نباید مشکلی داشته باشین .

Delphi 2010
چهارشنبه 16 فروردین 1391, 07:38 صبح
این پیغام رو میده
---------------------------
Microsoft Data Link Error
---------------------------
[DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied.
---------------------------
OK
---------------------------


Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=sa;Data Source=2.181.60.60,80631

هر چی تلاش کردم وصل نشد
COnnection string هم مثل بالا هستش و firewall رو هم خاموش کردم بازم متصل نشد و پیغام خطا میده

چیکار باید بکنم. Connectin String خاصی باید بزنم یا روش خاصی وجود داره برای متصل شدن
ممنون میشم راهنمائی کنید

nilidelphi
چهارشنبه 16 فروردین 1391, 11:26 صبح
باید اس کیو ال سروری که روی سرورت در حال اجرا است تمام سرویس های شبکه ایش Run بشه تا از شبکه بشه از اس کیو ال استفاده کرد


برو به Start\All Programs\microsoft SQL server 20..\Configuration Tolls\SQL Server Configuraton Manager و این برنامه رو اجرا کن

و در پنجره کوچک سمت چپ (treeView) بر روی گزینه ی SQL Server Services کلیک کنید تا در پنجره ی سمت راست همه ی سرویس ها مشخص شود
در همه ی این سرویس ها باید گزینه ی Log on as روی Network Service ست شده باشند مخصوصا سرویس های SQL Server Browser و SQL Server Agent .

برای تغییر این مورد با دوبار کلیک بر روی سرویس مورد نظر میتونی لاگان مورد نظر رو عوض کنید.

موفق باشید.

Delphi 2010
چهارشنبه 16 فروردین 1391, 11:52 صبح
ممنون از راهنمائیتون
ولی تغییر دادم بازم نشد
میشه یه نمونه برنامه یا یه نمونه Connection String برام بگذارید ممنون میشم

hamid-nic
چهارشنبه 16 فروردین 1391, 16:44 عصر
مطمئن هستید که ip تون ping میده یا نه ؟

Delphi 2010
چهارشنبه 16 فروردین 1391, 18:09 عصر
بله عزیزم
Ping کردم و Reply میده عزیزم

hamid-nic
چهارشنبه 16 فروردین 1391, 23:03 عصر
به احتمال زیاد مشکل از طرف سرور و یا بانک sql هست . اگر امکان داره پورت sql را به 1433 (پیش فرض sql )تغییر بدهید و دوباره امتحان کنید.

nilidelphi
پنج شنبه 17 فروردین 1391, 08:01 صبح
به نظر من مشكل شما از فايروال مودم ADSL هست

Felony
پنج شنبه 17 فروردین 1391, 08:24 صبح
اکثرا Firewall مودم ها خاموش هست ؛ شاید مشکل از NAT مودم باشه که داره IP ثابت رو برای استفاده از چند سیستم تبدیل میکنه .

Delphi 2010
پنج شنبه 17 فروردین 1391, 14:56 عصر
آقای تاجیک فکر نکنم
چون یه برنامه با Indy نوشتم به صورت کلاینت و سرور مشکلی نداره اون برنامه
نمیدونم مشکلش این ارتباط با بانک اطلاعاتی کجا هست

میشه لطف کنید و یه نمونه برنامه آپلود کنید که بتونم سرمشق خودم بکنم (خواهشا تست شده باشه ممنون میشم)

با تشکر

Felony
پنج شنبه 17 فروردین 1391, 17:49 عصر
چه نمونه برنامه ای ؟! شما اول برو مشکل رو حل کن و با Management Studio و IP به سرورت وصل شو ؛ اگر شد بعد بیا درخواست Connection String بکن .

Delphi 2010
جمعه 18 فروردین 1391, 09:51 صبح
با Management Studio وصل نشد. حالا باید چیکار کنم عزیزان

nilidelphi
جمعه 18 فروردین 1391, 14:15 عصر
به نظر من SQL Server رو که در سرور هست Uninistall کن و همه ی چیزشو پاک کن و بعد دوباره نصب کن.
فقط در هنگام نصب دوباره به این 2نکه توجه داشته بش :
1- از گزینه ی میکس اتنتیکیشن استفاده کن
2-در یکی از مراحل نصب ازت میپرسه که سرویس ها رو چطور نصب کنه که اونوقت همون گزینه ی network که قبلا گفتم رو انتخاب کن

پس از نصب کامل برنامه در کامپیوتر سرورت مطمئن شو که حداقل یه WorkGroup باشه اگه نباشه مراحل انجام یک شبکه رو انجام بده و بعد کامپیوتر رو ریستارت کن
و بعد امتحان کن

Seveen7
شنبه 29 تیر 1392, 21:40 عصر
سلام
منم همین مشکلو دارم
اگه راهی پیدا کردی میشه منم راهنماسس کنی؟
ممنون میشم واقعا ازتون . . .
این ایمیلمه!!!
Ehsannozari7@yahoo.com

shobair
سه شنبه 01 مرداد 1392, 12:52 عصر
سلام

من این کار رو چند سالی هست که انجام میدم. توسط ویندوز سرور که در واقع مودم ADSL هم به همون وصل هستش یک VPN سرور راه اندازی کردم و کامپیوترهایی که از اینترنت قصد اتصال به دیتابیس رو دارند ابتدا باید یک IP لوکال دریافت کنند. برای اینکار باید تنظیمات Port Forwarding روی مودم انجام بدید و پورت های مربوط به L2TP و PPTP رو از IP استاتیک روی IP لوکال فوروارد کنید. این کار باعث افزایش امنیت هم میشه یعنی فقط کامپیوترهایی می تونند به SQL Server متصل بشوند که اول مجاز به دریافت IP لوکال هستند. بعد از اتصال و دریافت IP لوکال دیگه همه چیز مثل شبکه LAN هست. حتی لازم نیست SQL Server رو بر روی سیستم اصلی که به اینترنت متصله نصب کرده باشید.

برای اتصال خودکار به VPN Server هم یک برنامه 2 خطی باید بنویسید که با دستور Rasdial یک کانکشن رو برقرار کنه.
این روش رو من الان 5 ساله استفاده میکنم و بدون نقص جواب داده.

شبیر

ho.yasreby
دوشنبه 14 مرداد 1392, 21:48 عصر
سلام
من بوسیله remot desktop ویندوز میتونم به سرور وصل بشم و مشکلی از این طریق ندارم ولی با sql managment نمیتونم به سرور وصل بشم مبشه دقیق تر توضیح بدید
یعنی کانکشن استرینگ باید چی باشه

mrm0101
جمعه 18 مرداد 1392, 01:42 صبح
سلام اگر ارتباط مستقیم به اس کیو ال سرور روی هاست امنیت داشت خود اس کیو ال سرور و برنامه های امنیتی پورتش رو باز می کردند . تنها راه شما برنامه نویسی برنامه تون بصورت تحت وب است یا استفاده از برنامه های چند لایه data snap
اگر هم به سرور دسترسی دارید می تونید پورت اس کیو ال رو باز بکنید ولی بسیار خطر ناک است

karimitabar
شنبه 06 دی 1393, 17:20 عصر
این پیغام رو میده
---------------------------
Microsoft Data Link Error
---------------------------
[DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied.
---------------------------
OK
---------------------------


Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=sa;Data Source=2.181.60.60,80631

هر چی تلاش کردم وصل نشد
COnnection string هم مثل بالا هستش و firewall رو هم خاموش کردم بازم متصل نشد و پیغام خطا میده

چیکار باید بکنم. Connectin String خاصی باید بزنم یا روش خاصی وجود داره برای متصل شدن
ممنون میشم راهنمائی کنید
---

سلام دوست عزیز. یکی از دوستان قبلا زحمت کشیده کامل توضیح داده :
www.wavesoft.ir/اتصال-به-sql-server-در-برنامه-های-تحت-شبکه/
ولی مختصر عرض کنم :



۱٫ به مسیر Start > All Programs > Microsoft SQL Server 2008/2005 > Configuration Tools > SQL Server Configuration Manager مراجعه کنید و موارد زیر را بررسی نمایید:۱٫۱٫بر روی SQL Server Services کلیک کنید و در سمت راست پنجره بررسی کنید که ستون State مربوط به SQL Server Browser و SQL Server در وضعیتRunning باشد.۱٫۲٫بر روی آیتم های زیر مجموعه SQL Server Network Configuration کلیک کنید و در سمت راست پنجره بررسی کنید که آیتم های Shared Memory،Named Pipes و TCP/IP در وضعیت Enabled باشند.۱٫۳٫بر روی آیتم SQL Native Client Configuration > Client Protocols کلیک کنید و در سمت راست پنجره بررسی کنید که آیتم های Shared Memory،Named Pipes و TCP/IP در وضعیت Enabled باشند.۲٫ بررسی کنید که فایروال سیستم سرور غیر فعال باشد و یا SQL Server به برنامه های Trust فایروال اضافه شده باشد.