PDA

View Full Version : کانکشن استرینک SQL 2008 تحت شبکه ( دو سیستم خانگی )



sehm67
یک شنبه 26 آذر 1391, 00:44 صبح
مبتدی :لبخندساده:

من دارم رو یه برنامه حسابداری کار میکنم و میخام از بانک SQL server 2008 استفاده کنم

من جداولم رو درست کردم و به بانکم متصل میشم با دستور کانکشن استرینگ زیر :

تحت کلایکنت فعلا ارتباط بر قرار میکنم.




Dim strConnection As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=\DB\My.mdf;In tegrated Security=True;Connect Timeout=30;User Instance=True"



و اصل سوالم اینه :

من رو یه سیستمم ویندوز xp نصبه و رو لپ تاپم ویندوز 7 این دو تا رو با کابل اومدم شبکه کردم با لپ تاپم میتونم

به اطلاعات شیر شده روی ویندوز xp دسترسی پیدا کنم اما با ویندوز xp روی سیستمم نمیتونم به اطلاعات

شیرشده رو لپ تاپم دسترسی پیدا کنم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

آی پی آدرس ویندوز 7 --> 192.168.0.1 --> نام کامپوتر User1

آی پی آدرس ویندوز ایکس پی -- > 192.168.0.2 --> نام کامپیوتر User2

حالا من کانکشن استرینگ مربوط به شبکه رو اینطور وارد میکنم :




Dim strConnection As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=\\192.168.0.2 \Net_XP\Database.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"



1- ولی به بانک متصل نمیشم مشکل کجاست ؟

2- آیا کانکشن استرینگ اشتباه است ؟

3- آیا کانکشن استرینگ تحت کلاینت تو همه سیستم ها جواب میده ؟

لطفا راهنمایی نمایید

"در ضمن جستجو رو انجام دادم "

با تشکر

merlin425
یک شنبه 26 آذر 1391, 01:31 صبح
اول از همه این که نمی تونی به فیلهای share شده رو seven دسترسی داشته باشی دلیلش یه سری تنظیمات توی بخش network and sharing center هست

sql express کلآ واسه شبکه نیست البته شنیدم یه سری تنظیمات داره که میشه ازش تو شبکه هم استفاده کرد اما واسه شبکه ساخته نشده برو سراغ یه dbms دیگه

این سایت هم مخصوص کانکشن استرینگه حالا مال هر بانکی باشه
www.connectionstrings.com

واسه سومی هم اگه منظورت اینه که رو سیستم دیگه هم ببری جواب میده اره البه این کانکشن نه این که کلآ غلطه بانکت رو ببر تو bin\debug برنامت بعد تو کانکشن به جای 192.168.0.2 \Net_XP بنویس application.startuppath

sehm67
یک شنبه 26 آذر 1391, 16:32 عصر
به نقل از دوست خوبمون آقا فرید نجفلو

سلام
تو طرح ریزی شما دو تا مشکل وجود داره:
1- استفاده از نسخه Express برای برنامه های تجاری توصیه نمیشه. مهمتریت دلیلش محدود بودن دیتابیس به حجم 2 گیگابایت هست و اگر هم از نسخه های دیگه استفاده کنید نمی تونید تو کانکشن استرینگ از AttachDbFilename استفاده کنید (چون فقط تو Express ساپورت میشه!)

2- استفاده از دیتابیسی که تو شبکه Share شده به شدت امنیت رو پایین میاره (و به دلیل با هم باز توصیه نمیشه)

راه حل:
ما باید تو سیستمی که قرار سرور باشه (و معمولا ویندوز سرور داره نه XP یا 7 ) دیتابیس رو ایجاد و یا Attach می کنید (معمولا دستی) بعد کانکشن استرینگ عادی استفده می کنید:


Dim strConnection As String = "Data Source=192.168.0.2 ;initial Catalog =DatabaseName;Integrated Security=True;Connect Timeout=30;User Instance=True"

تو این روش دیگه نیازی نیست که تو کلاینت ها هم SQL Server نصب کنید فقط سرورو کفایت می کنه

بازم تاکید می کنم سعی کنید روش AttachDbFilename استفاده نکنید . هر چند مزیت هایی داره و نواقصی هم داره که تو مواردی مثل همین سوالتون دردسر ساز هست