ورود

نسخه کامل مشاهده نسخه کامل : سئوال در مورد شبکه کردن نرم افزار



M-B-M
31-08-2008, 09:16
سلام
من روی کامپیوتر سرور SqlServer2005 نصب کردم ودیتابیس را به آن Attach کردم. در کامپوتر سرور با نام سرور .(LocalHost) و اسم دیتا بیس به آن متصل می شوم اما در کامپیوتر دیگر وقتی Ip کامپیوتر سرور و نام دیتابیس را وارد می کنم با این خطا مواجه می شوم
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدمشکل از کجاست؟

_H2_
31-08-2008, 12:54
سلام
روال معمول کار این است که یک login و user و pass هم بسازید و در رایانه های شبکه (یا حتی رایانه جاری) با کمک این مقادیر امنیتی و اعتبار سنجی کامل به دیتابیس وصل شوید.

پیشنهاد میکنم دو تاپیک زیر را یک مروری کنید:
forum.p30world.com/showthread.php?t=244429
forum.p30world.com/showthread.php?t=249133

M-B-M
31-08-2008, 15:27
سلام
من این تاپیک ها رو تا حالا چندین بار خوندم (هر چند که یکی از تاپیک ها چندتا پست توش جا افتاده)
من یک Login جدید با Pass هم تولید کردم و در کامپیوتر سرور موفق به login شدم اما در کامپیوتر دیگر با همان پیغام خطای قبلی مواجه شدم
در ضمن برای sa هم Pass گذاشتم و در کامپیوتر سرور موفق به login شدم اما در کامپیوتر دیگر با همان پیغام خطای قبلی مواجه شدم

MasterData
31-08-2008, 16:15
البته من با اسکیوال 2005 زیاد آشنایی ندارم
ولی یک بار که همین مشکل رو داشتم توی تنظیمات سرور باید پروتکل Http و اجازه کانکت شدن از راه دور رو به سرور میدادی
به نظر من توی تنظیمات سرور دنبال مشکلت باش

M-B-M
31-08-2008, 16:53
یک چیز دیگه هم یادم رفت که بگم اینکه موقع نصب SQLServer Developer یک جایی دو تا گزینه داره

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدکه پیشفرض گزینه اول انتخاب شده است و با زدن دکمه Next پیغام خطای زیر را می دهد

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیداین خطا مال چیه مشکل به این خطا ربطی ندارد؟
در مورد گفته ی دوست عزیز (MasterData) باید بگردم ببینم همچین گزینه ای پیدا می کنم یا نه
ممنون

_H2_
31-08-2008, 17:45
سلام
اینها مشکلات اجازه نامه هاست، یا اجزاه ریموت یا فایروال

دستورات زیر را پیگیری کنید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

سپس برای فایروال هم دستورات زیر را پیگیری کنید:
فرامین زیر را دنبال کنید و مقدار Instance ID را ببینید، احتمالاً مقدارش MSSQL.1 است.
ولی امکان دارد با نصب نسخه های مختلف، مقدارش چیز دیگری باشد، پس:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

سپس که مقدار MSSQL.X را به دست اوردید:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

در آخر اگر از ویستا استفاده میکنید، شاید خاموش کردن UAC هم بد نباشد، دردسرش بیش از امنیتش است.

M-B-M
31-08-2008, 21:32
سلام دوست عزیز
نمی دانم با چه زبانی تشکر کنم، توضیحات شما کامل و جامع بود و مشکل من حل کرد،
خدا خیرت بده، خدا هر چی می خوای بده و ...
باز هم ممنونم
Tanks
Mer30

M-B-M
31-08-2008, 23:45
سلام
یک سئوال کوچک
از این ConnectionString چگونه در فرمهای دیگر استفاده کنم
باز هم ممنون

_H2_
01-09-2008, 00:27
سلام
اگر منظورتان این است که CS را یک جا و یکبار تولید کنید و بارها در سطح مکانهای مختلف برنامه مصرف کنید.
راه اصولی استفاده از Settings های خود برنامه است، یا اینکه CS را یکبار در بارگذاری اولیه پروزه در مکانی عمومی لود کنید و هر کجا خواستید از این متغییر پر شده VB-Shared یا C#-static استفاده کنید.

یک نگاهی به مثال همین تاپیک forum.p30world.com/showthread.php?t=244429
بزنید.
یعنی این لینک:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
دقیقاً چیزی نیست که در بالا گفتمف ولی خیلی شبیه است و شبیه تر میشود اگر متغییر m_ConnectionString Public و VB-Shared یا C#-Shared شود.



==============



البته من خودم در عمل نه در شرکت و نه در پروژه های آزاد اینکار را هم نمیکنم.
CS را تا حد ممکن مخفی و غیر قابل دسترسی و استفاده نگاه میدارم!
بعد یک متد VB-Shared یا C#-Shared مینویسم که مسئول تولید Connection جدید است، و در هر کجای برنامه که نیاز به Connection جدید باشد، باید از این متد استفاده شود.

یک چیزی شبیه مثال این تاپیک قدیمی
forum.p30world.com/showthread.php?t=219657
که البته تحت وب است و لینک مثال هم این است:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

ولی تفکر اصلی در مورد Connection ها فرقی ندارد و در دسکتاپ هم قابل استفاده است و من به شخصه این را میپسندم و استفاده میکنم.

M-B-M
20-10-2008, 17:32
سلام
من روی سیستم خودم ویندوز Vista و SqlServer2008 نصب کرده ام؛ زمانی که از کامپیوتر دیگر می خواهم به این سیستم متصل شوم با این خطا مواجه می شوم


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیداین نکته را نیز بگم که من قبلا از ورژن 2005 استفاده می کردم و الان روی سرور 2008 نصب کرده ام و توضیحات پست قبلی شما را هر چه گشتم در 2008 پیدا نکردم (در ضمن UAC را نیز خاموش کرده ام)

یک سئوال دیگر هم اینکه من وقتی برنامه را به مشتری تحویل می دهم آیا باید Sql را کامل نصب کند یا فقط بعضی از قسمت های آن را باید نصب کند(کدام قسمتها)؟

_H2_
20-10-2008, 21:45
سلام
sqlserver2005 را هم نصب کرده اید؟ اگر نصب کرده اید اول کدام نصب کرده اید؟

متاسفانه متن خطایی که گذاشتید خیلی معمول و وسیع است، یعنی برای بازه زیادی از مشکلات همین متن نمایش داده میشود!

از صحت املایی نام رایانه مطمئن شوید.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

اگر بتوانید رایانه هایتان را با دادن IP دستی شبکه کنید، معمولاً در شبکه کردن هم راحت تر هستید و اتصالات هم مطمئن تر خواهد بود.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

1)
احتمالاً user و password و login را ساخته اید.
در اولین قدم سعی کنید با همین user و password و دقیقاً مثل رایانه دیگر در شبکه در خود سرورتان بتوانید به sqlserver وصل شوید.
و به جای نام localhost و نقطه و... از نام رایانه سرور و یا IP رایانه استفاده کنید.

برای این تست میتوانید از udl یا ssms یا vs یا یک برنامه دست ساز یا پک زیر استفاده کنید
h02.ir/Download.aspx?File=Temp\SqlConnectionString.exe.zi p
(ConnectionString در کنار برنامه به صورت فایل txt ذخیره میشود.)


2)
در نهایت اگر در خود سرور با نام یا IP و user و password موفق به اتصال شدید، صحت شبکه شدن را تست کنید.
مثلاً یک پوشه الکی را در سرور Share کنید و چک کنید و ببینید آیا کلاینت ها میتوانند وارد این پوشه بشوند، اگر بتوانند یعنی شبکه شما مشکلی ندارد.

فعلاً چیز دیگری به ذهنم نمیرسد، دو تست فوق را انجام دهید تا ...

_H2_
21-10-2008, 10:01
سلام
میبخشید بخش دوم سوالتان را کلاً فراموش کردم تا حالا ...

یک سئوال دیگر هم اینکه من وقتی برنامه را به مشتری تحویل می دهم آیا باید Sql را کامل نصب کند یا فقط بعضی از قسمت های آن را باید نصب کند(کدام قسمتها)؟

نصب فقط هسته مرکزی و سرویس اصلی sqlserver کافی است و نیازی به نصب ابزارآات کمکی و جانبی و... نیست.
و همین هم فقط در رایانه سرور باید انجام شود و نیازی به نصب هیچ چیز در کلاینت ها نیست.

اگر دقت کنید نسخه express هم فقط یک سرویس مرکزی را نصب میکند و در اصل کسی که express را نصب میکند، در اولین قدم این سوال برایش پیش می آید که حالا sqlserver کجا است و چگونه باید اجرایش کند و جداول و... را ویرایش کند و چیزی هم نخواهد یافت!

در مورد نسخه های اصلی هم همین طور است، شما نیازی به نصب full ندارید.
البته نصب حداقل امکانات در جهت استفاده از برنامهای خاص مزیتی هم دارد، نبود ابزارآلات sqlserver موجب میشود افراد با اطلاعات کم و شاید کمی کنجکاو نتوانند ویرایشی روی دیتابیس داشته باشند و ناخواسته موجب بروز مشکلات در برنامه شوند.

(بدیهی است که در یک سرور در مبنای بزرگتر که توسط افراد مطلع و آگاه پشتیبانی و ساپورت میشود وجود ابزار آلات جانبی سودمند خواهد بود.)

M-B-M
21-10-2008, 10:19
سلام

من ویندوز را عوض کردم و فقط SqlServer2008 روی آن نصب کردم

نام رایانه هم MBM-PC بود

Ip را هم بصورت دستی وارد کرده ام

User و Pass هم ساخته ام و در کامپیوتر سرور زمانی که از "." و "LocalHost" و نام کامپیوتر "MBM-PC" استفاده می کنم مشکلی برای اتصال ندارم اما زمانی که Ip سرور را وارد می کنم با این خطا مواجه می شوم


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیددر مورد صحت شبکه کردن مشکلی نیست(قبلا فایل بین دو سیستم رد و بدل شده)

M-B-M
21-10-2008, 10:43
سلام

میبخشید قسمت دوم را الان دیدم و متوجه منظورتان نشدم
ایا منظور شما این است که با نصب نسخه Express هم می توان برنامه را شبکه کرد

اگر جواب شما مثبت است:
مگر نسخه Express همان نیست که همراه خود VS وجود دارد؟
چگونه باید دیتابیس را به آن Attach کرد؟ چون جایی برای Attach کردن وجود ندارد؟

اگر جواب منفی است:
یعنی فقط نصب SqlServer Mangement برای شبکه کردن نرم افزار کافی است؟

M-B-M
21-10-2008, 13:22
سلام
الان که چک می کنم می بینم که
من قبلا با VS2005 و SqlServer2005 کار می کردم و حالا روی کامپیوتر خودم Vs2008 و SqlServer2008 نصب کردم و برنامه ای را که قبلا ساخته بودم حالا با VS2008 و SqlServer2008 کار می کنم و در کامپیوتر خودم مشکلی ندارم اما وقتی این دیتا بیس را روی کامپیوتر دیگری می برم و می خواهم به SqlServer2005 ، Attach کنم با این خطا مواجه می شوم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدیک سئوال دیگه:
من که برنامه را با 2008 می نویسم (VS و SqlServer) ، زمانی که روی سیستم دیگر می برم که روی آن قبلا لوازم مربوط به 2005 نصب شده بود، آیا لازم است کامپوننت و ... دیگری نصب شود یا با همان ابزار قبلی برای اجرا مشکلی ندارد؟

_H2_
21-10-2008, 23:08
سلام

User و Pass هم ساخته ام و در کامپیوتر سرور زمانی که از "." و "LocalHost" و نام کامپیوتر "MBM-PC" استفاده می کنم مشکلی برای اتصال ندارم اما زمانی که Ip سرور را وارد می کنم با این خطا مواجه می شوم
پس در خود سرور تا قبل از وارد کردن IP مشکلی وجود ندارد ولی در خود سرور با خود IP اش کار نمی کند؟
بعد از نقطه یا localhost که دیگر چیزی نمینوشتید؟ مثلاً MBM-PC\SQLEXPRESS ؟
باید کمی فرصت دهید تا یک بررسی انجام دهم و بعد جواب دهم...

=====


ایا منظور شما این است که با نصب نسخه Express هم می توان برنامه را شبکه کرد
بله این امکان وجود دارد ولی سه تنظیم را بهتر است انجام دهید...
1) انجام اجباری دستورات پست 6 همین تاپیک وجود. (باید تغییرات را به جای Database Engine روی sqlexpress اعمال کنید)

2) مطمئن شوید سرویس اصلی express به صورت خودکار با ویندوز بارگذاری شود .(StartupType->Automatic)

3) احتمالاً برای ساخت لوگین باید تنظیم رجیستری زیر را هم انجام دهید.
forum.p30world.com/showthread.php?p=2900782#post2900782

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

=====


مگر نسخه Express همان نیست که همراه خود VS وجود دارد؟
بله، نسخه رایگانی که همراه vs هم نصب میشود و خودتان هم میتوانید نصبش کنید.

=====


چگونه باید دیتابیس را به آن Attach کرد؟ چون جایی برای Attach کردن وجود ندارد؟
این نسخه شامل حداقل اجزای sqlserver است (همانطور که در پست 12 هم توضیح دادم)
در ذات sqlserver برنامه خدماتی ویرایش (بجز یک برنامه خط فرمانی و کنسولی) ندارد.
برنامه هایی مثل SSMS هم صرفاً یک ابزار کمکی هستند و وجودشان حیاتی نیست و اغلب اعمال SSMS با کد نویسی هم قابل انجام است.
همانطور که احتمالاً تاپیک قدیمی زیر را دیده اید، میتوانید ساخت user و pass و attach را با کد هم انجام دهید:
forum.p30world.com/showthread.php?p=2815469#post2815469

یا میتوانید با برنامه خط فرمانی sqlcmd اینکار را انجام دهید و یا همان نسخه رایگان SSMS را نصب کنید.

=====


عنی فقط نصب SqlServer Mangement برای شبکه کردن نرم افزار کافی است؟
SSMS فقط یک ابزار کمکی است و میتوانید کار تنظیم و کنترلر sqlserver را راحت تر و سریعتر کند و خودش به ذات کاری نمیکند و بود و نبودش برای sqlserver فرقی ندارد.

=====



من قبلا با VS2005 و SqlServer2005 کار می کردم و حالا روی کامپیوتر خودم Vs2008 و SqlServer2008 نصب کردم و برنامه ای را که قبلا ساخته بودم حالا با VS2008 و SqlServer2008 کار می کنم و در کامپیوتر خودم مشکلی ندارم اما وقتی این دیتا بیس را روی کامپیوتر دیگری می برم و می خواهم به SqlServer2005 ، Attach کنم با این خطا مواجه می شوم:

یک سوال! شما دقیقاً همین خطا را در تاپیک زیر هم داشتید، آیا مشکل خطا با مثال دومی که داده بودم رفع شد؟
forum.p30world.com/showthread.php?p=3084153#post3084153

=====


من که برنامه را با 2008 می نویسم (VS و SqlServer) ، زمانی که روی سیستم دیگر می برم که روی آن قبلا لوازم مربوط به 2005 نصب شده بود، آیا لازم است کامپوننت و ... دیگری نصب شود یا با همان ابزار قبلی برای اجرا مشکلی ندارد؟

VS2008 میتوانید تحت framework2 هم کامپایل داشته باشد.
اگر شما از ابزارآلات و کلاسس های جدید framework3 استفاده نکرده اید و یا میتوانید نکنید تنظیمات کامپایل را روی نسخه 2 قرار دهید... (تاپیک تصوری جناب batman)
forum.p30world.com/showthread.php?t=269270

اگر پروژه تان تحت نسخه 2 کنید و reference های اضافه را حذف کنید، خروجی کامپایل VS2008 مانند VS2005 خواهد بود.

در خصوص sqlserver هم در حالت عادی و اگر تنظیمات را تغییر نداده باشید، خود VS2008 برای کار داخلی و ساخت دیتابیس جدید از sqlserver2005express استفاده میکند و کاری به نسخه های دیگر sqlserver نصب شده روی سیستم شما ندارد، پس مشکلی وجود نخواهد داشت.

ولی اگر خودتان صراحتاً دیتابیسی با sqlserver2008 بسازید باید level ان را روی 2005 بگذارید تا در سیستم های قدیمی تر هم کار کند، که توضیح بیشتر در این مورد باشد برای زمانی که جواب سوال قبلی ام را دادید.

=====

موفق باشید.

M-B-M
23-10-2008, 12:51
سلام


بعد از نقطه یا localhost که دیگر چیزی نمینوشتید؟ مثلاً MBM-PC\SQLEXPRESS ؟
نه بعد از "." چیزی نمی نوشتم


یک سوال! شما دقیقاً همین خطا را در تاپیک زیر هم داشتید، آیا مشکل خطا با مثال دومی که داده بودم رفع شد؟
بله با دانلود مثال دوم مشکل حل شد

ببخشید یک سئوال دیگر هم داشتم
من برنامه خودم را روی کامپیوتر دیگر وقتی اجرا می کنم (کامپبوتر دیگر با همان مشخصاتی که قبلا گفتم) وقتی وارد بعضی از قسمتهای آن می شوم با این خطا روبرو می شوم
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
من گفتم شاید مشکل از .netframework باشه اما وقتی که Setting برنامه را نیگاه کردم دیدم که روی .NetFrameWork2 اتومات تنظیم شده

_H2_
24-10-2008, 17:32
سلام

User و Pass هم ساخته ام و در کامپیوتر سرور زمانی که از "." و "LocalHost" و نام کامپیوتر "MBM-PC" استفاده می کنم مشکلی برای اتصال ندارم اما زمانی که Ip سرور را وارد می کنم با این خطا مواجه می شوم
این احتمالاً باید مشکل امنیتی باشد، به تنظیم firewall مراجعه کنید
دستورات پست 6 همین تاپیک را بار دیگر کنترل و اجرا کنید باید دقت کنید که اگر دققیاً آن کارها را انجام دهید حتماً دیده اید که در sqlserver2008 و به جای MSSQL.1 مقدار MSSQL10.MSSQLSERVER درج شده.

با کمی ملاحضات جدید دیگر پست 6 در sqlserver2008 را چنین اصلاح خواهم کرد:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


==============


من قبلا با VS2005 و SqlServer2005 کار می کردم و حالا روی کامپیوتر خودم Vs2008 و SqlServer2008 نصب کردم و برنامه ای را که قبلا ساخته بودم حالا با VS2008 و SqlServer2008 کار می کنم و در کامپیوتر خودم مشکلی ندارم اما وقتی این دیتا بیس را روی کامپیوتر دیگری می برم و می خواهم به SqlServer2005 ، Attach کنم با این خطا مواجه می شوم:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
البته این کار را باید انجام دهید ولی گمانم مشکل را کلاً رفع نخواهد کرد!!!
(هنوز راه ساده و قطعی پیدا نکردم و اون روشی که من برای مثال تاپیک قبلی استفاده کردم، برای انجام روزمره کمی سخت است. اگر فراموش نکنم سعی میکنم دوباره اگر وقتی کردم تستهایی انجام دهم.)

ولی به احتمال زیاد اگر حداقل سرویس پک های SqlServer2005 را دانلود و در مقصد نصب کنید، مشکل باید حل شود.

==============


من برنامه خودم را روی کامپیوتر دیگر وقتی اجرا می کنم (کامپبوتر دیگر با همان مشخصاتی که قبلا گفتم) وقتی وارد بعضی از قسمتهای آن می شوم با این خطا روبرو می شوم
شما در برنامه خودتان از کریستال استفاده کرده اید ولی گمانم در مقصد نصبش نکرده اید.
CrystalReport و MsReport و... جزء ذات هسته framework نیستند و مثل framework انها هم باید جداگانه در مقصد نصب شوند.

در Vista-VS2008 میتوانید پک نصبی کرستال برای انتقال به مقصد را در مسیر زیر پیدا کنید:
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalRe ports10_5
(پک های دیگری هم در همین مسیر وجود دارد.)

M-B-M
25-10-2008, 16:46
سلام
مشکل اتصال به سرور برای استفاده از Sql حل شد
از لطف شما ممنون هستم

arashvampire
04-02-2013, 13:06
سلام
من این تاپیک ها رو تا حالا چندین بار خوندم (هر چند که یکی از تاپیک ها چندتا پست توش جا افتاده)
من یک Login جدید با Pass هم تولید کردم و در کامپیوتر سرور موفق به login شدم اما در کامپیوتر دیگر با همان پیغام خطای قبلی مواجه شدم
در ضمن برای sa هم Pass گذاشتم و در کامپیوتر سرور موفق به login شدم اما در کامپیوتر دیگر با همان پیغام خطای قبلی مواجه شدم
سلام شما در اس کی یو ال باید ابتدا دیتا بیس خود را باز کنید و در قسمت security کاربر هایی را باید تعریف کنید که اجازه ی دسترسی داشته باشن هنگام ایجاد دیتا بیس باید سرور را انتخاب کنید و محلی نگذارید
اگر ویندوز شما سون است باید به قسمت یوزر اکانت بروید و در انجا گروها را تعریف کنید تا اس کی یو ال هم بفهمد که به این گروه ها باید سرویس بدهد

arashvampire
04-02-2013, 13:09
من برنامه یی مینویسم و دیتا بیس برایش تعریف میکنم و در اخر فایل نصبی با همراه دیتا بیس از برنامم میگیرم
حالا میخواهم به این برنامم را در سیستم دیگری تست کنم در connectionstring مشکل رخ میده لطفا فقط کد connectionstring را بهم بگین چی بنویسم

senaps
04-02-2013, 13:35
شما کد کانکشنت رو بذار ببینیم چیکار کردی! :)

arashvampire
04-02-2013, 13:42
شما کد کانکشنت رو بذار ببینیم چیکار کردی! :)

@"Data Source=.SQLEXPRESS;AttachDbFilename=" + Application.StartupPath + @"Database1.mdf;Integrated Security=True;User Instance=True"

_H2_
07-02-2013, 02:32
سلام
اگر نسخه express را همراه برنامه نصب کنید و دیتابیس هم کنار exe باشد میتوانید از رشته اتصال ثابت زیر استفاده کنید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

البته در یک برنامه تجاری، داشتن فرمی برای تنظیم رشته اتصال توسط خود کاربر هم ایده خوبی است.