PDA

View Full Version : sql server 2000 تحت شبکه



sara66
شنبه 21 اردیبهشت 1387, 18:13 عصر
سلام . من یه برنامه sql server 2000 نوشتم . میخوام تحت شبکش کنم چکار کنم ؟

سرویس دهنده / سرویس گیرنده باید باشه یا نه فقط بانک باید تو سرور باشه ؟

بیشتر کار کاربران جستجو و گزارشگیری.

لطفا کمکم کنید

Delphi Coder
شنبه 21 اردیبهشت 1387, 19:02 عصر
من یه برنامه sql server 2000 نوشتم منظورتون اینه که یه برنامه نوشتید که از SQL Server 2000 استفاده میکنه.
میخوام تحت شبکش کنم چکار کنم ؟Connection String رو درست کنیدمیشه تحت شبکه.

sara66
شنبه 21 اردیبهشت 1387, 19:27 عصر
آره

میشه توضیح بدین .
چجوری درست کنم بعدشم مدیریت بانک رو خود sql انجام میده یا نه به عهده منه یعنی وقتی یه کاربر داره با یه رکورد رو ویرایش میکنه کاربر دیگه ای قادر به حذف و ویرایش اون نباشه و امثال اینها.

SYNDROME
شنبه 21 اردیبهشت 1387, 22:21 عصر
آره

میشه توضیح بدین .
چجوری درست کنم بعدشم مدیریت بانک رو خود sql انجام میده یا نه به عهده منه یعنی وقتی یه کاربر داره با یه رکورد رو ویرایش میکنه کاربر دیگه ای قادر به حذف و ویرایش اون نباشه و امثال اینها.
SQL را با IP سرور رجیستر کنید.
در زمان تنظیم ADOConnection در قسمت ServerName از IP سرور استفاده کنید
موفق باشید

sara66
دوشنبه 23 اردیبهشت 1387, 16:30 عصر
کامل متوجه نشدم ولی اگه اینکارو بکنم دیگه تمامه ؟؟؟؟؟؟
پس مدیریت بانک چی ؟؟؟؟؟ یعنی یه نسخه از برنامه رو روی سیستمهای تحت شبکه نصب کنم.
نیاز نیست دو نسخه درست کنم یکی کلاینت یکی سرور .
اصلا کتابی با عنوان delphi 7 و sqlserver 200 نیست ؟

حمیدرضاصادقیان
دوشنبه 23 اردیبهشت 1387, 16:49 عصر
سلام.ببین شما یک نسخه کامل از Sql server رو روی سرورت نصب میکنی و دیتابیس ها رو روی اون سوار میکنی. بعد روی کلاینتها نسخه msde رو نصب میکنی. بعد از اون فقط در داخل برنامه ات یک منو قرار میدی که بتونی این کانکشن استرینگ رو درست کنه.در داخل اون برای کاربرها مشخص میکنی که به جای سرور خودش از سروری که مشخص کردی استفاده کنه .
برای کنترل دیتابیس دیگه باید زحمتش رو خودت بکشی.اگر قرار بود فقط با همین مورد برنامه تحت شبکه بشه این همه پست اینجا ایجاد نمی شد.تمامی اینها رو خود شما باید کنترل کنی.
موفق باشید.

sara66
دوشنبه 23 اردیبهشت 1387, 18:18 عصر
ممنون
جریان msde چیه ؟؟ کنترل داده ها چجوریه ؟
پس فقط یه نرم افزار مینویسیم کلایت / سرور نمیخواد نه ؟
لطفا بیشتر توضیح بدین یا اگه کتابی در این مورد هست معرفی کنید

vcldeveloper
دوشنبه 23 اردیبهشت 1387, 19:41 عصر
بعد روی کلاینتها نسخه msde رو نصب میکنی.
لزومی نداره MSDE را روی کلاینت ها نصب کنید. بر روی کلاینت ها باید فایل های مربوط به Client Connectivity نصب باشه که معمولا روی خود ویندوز نصب هست و عملا شما نیازی ندارید چیزی روی کلاینت ها خودتون نصب کنید.

sara66
دوشنبه 23 اردیبهشت 1387, 21:50 عصر
خیلی ممنون پس فقط رو سرور sql server 2000 developer رو نصب کنم.
نگفتین من برای مدیریت داده ها باید دوتا برنامه بنویسم یا نه ؟ یعنی یه برنامه که برنامه خودم بعد یه برنامه دیگه هم باید بنویسم برای کنترل داده ها و روی سرور باشه ؟؟؟؟؟
لطفا کمکم کنید من تو کار با بانکها خیلی تازه کارم فقط با اکسس کار کردم

vcldeveloper
سه شنبه 24 اردیبهشت 1387, 01:51 صبح
نگفتین من برای مدیریت داده ها باید دوتا برنامه بنویسم یا نه ؟
معنی "مدیریت داده ها" چی هست؟
کاربر از طریق برنامه شما در سمت کلاینت دستورهایی برای کار با داده ها در سمت سرور یا درخواست داده ها به سرور بانک اطلاعاتی ارسال میکنه، سرور هم داده های درخواست شده را به کلاینت می فرسته، و کلاینت داده ها را به شکل مناسب به کاربر نمایش میده.

به همراه SQL Server بر روی سرور نرم افزاری هم برای مدیریت بانک های اطلاعاتی موجود در سرور نصب میشه که از طریق آن می تونید SQL Server و بانک های اطلاعاتی خودتون را پیکربندی کنید.

sara66
سه شنبه 24 اردیبهشت 1387, 06:24 صبح
خیلی ممنون

منظورم از مدیریت داده ها اینه که مثلا وقتی یک کاربر داره یه رکورد رو ویرایش میکنه کاربر دیگه نتونه اون رکورد رو حذف یا ویرایش کنه و امثال اینها .

پس من 2 تا نرم افزار باید بنویسم ؟ نرم افزاری که برای کاربرا هست رو فقط conectionstring رو درست کنم ؟
اون نرم افزار که رو سرور نصب میشه چی ؟

ببخشید من اینهمه سوال میکنم .

راستی کتابی در این مورد نیست مثلا با عنوان delphi و sql server

vcldeveloper
سه شنبه 24 اردیبهشت 1387, 12:18 عصر
منظورم از مدیریت داده ها اینه که مثلا وقتی یک کاربر داره یه رکورد رو ویرایش میکنه کاربر دیگه نتونه اون رکورد رو حذف یا ویرایش کنه و امثال اینها .

اینها را از طریق نرم افزار کلاینتی که می نویسید می تونید اعمال کنید. مثلا خصوصیت LockType در کامپوننت های ADO برای همین موردی هست که در بالا بهش اشاره کردید.


پس من 2 تا نرم افزار باید بنویسم ؟ نرم افزاری که برای کاربرا هست رو فقط conectionstring رو درست کنم ؟
اون نرم افزار که رو سرور نصب میشه چی ؟
برای کار شما فقط یک نرم افزار نیاز هست. اون هم نرم افزار کلاینت هست. در سمت سرور هم شما SQL Server را نصب می کنید. همین.


راستی کتابی در این مورد نیست مثلا با عنوان delphi و sql server
توی تمام کتاب های آموزش دلفی بخشی برای کار با بانک های اطلاعاتی پیدا میشه. اون بخش ها را مطالعه کنید. برای آشنایی با SQL Server و نحوه عملکرد آن هم باید کتاب های آموزش SQL Server را مطالعه کنید. مفاهیم اولیه کار با بانک های داده و انواع معماری های نرم افزاری که برای این کار استفاده میشند معمولا در همون کتاب های دلفی بطور مختصر توضیح داده میشند، ولی برای توضیحات مفصل تر باید به کتاب هایی که بطور خاص درباره طراحی و مدیریت بانک های اطلاعاتی، یا تکنولوژی های ارتباط با بانک اطلاعاتی، یا معماری نرم افزار بحث می کنند، مراجعه کنید

sara66
سه شنبه 24 اردیبهشت 1387, 15:00 عصر
خیلی خیلی ممنون .

خوب پس اون نرم افزار که گفتین رو سرور نصب میشه چیه ؟
من یه کتاب دارم که قسمتی از اون مربوط به ADO/Access ولی در مورد شبکش چیزی نگفته . البته dbexpress و datasnap رو توضیح داده نیاز به خوندن اینا که ندارم نه ؟؟

sara66
سه شنبه 24 اردیبهشت 1387, 15:07 عصر
[QUOTE=علی کشاورز;515423]

به همراه SQL Server بر روی سرور نرم افزاری هم برای مدیریت بانک های اطلاعاتی موجود در سرور نصب میشه که از طریق آن می تونید SQL Server و بانک های اطلاعاتی خودتون را پیکربندی کنید.[/QUOTE

اون نرم افزار چیه ؟

vcldeveloper
سه شنبه 24 اردیبهشت 1387, 16:19 عصر
اون نرم افزار چیه ؟
این بخشی از بسته نرم افزاری SQL Server هست. شما نمی سازیدش، خودش با SQL Server نصب میشه. در SQL Server 2000 اسمش هست Enterprise Manager و در SQL Server 2005 اسمش هست Management Studio. به همراه SQL Server علاوه بر Database Engine و Management Studio نرم افزارها و سرویس های دیگه ایی هم نصب میشه که برای امور مختلفی استفاده میشند. می تونید با تهیه یک کتاب درباره SQL Server با آنها آشنا بشید.

sara66
سه شنبه 24 اردیبهشت 1387, 17:01 عصر
خیلی خیلی ممنون لطف کردین
من کتاب sql server 2000 رو دارم مال جعفر نژاد قومی خوبه ؟

خوب فقط یه مشکل هست اونم تنظیمات دلفی و برنامه برای تحت شبکه شدنه.
اگه قبلا بحث شده میشه لینک مطلب رو بدین.

ممنون

vcldeveloper
سه شنبه 24 اردیبهشت 1387, 17:09 عصر
من کتاب sql server 2000 رو دارم مال جعفر نژاد قومی خوبه ؟
نمی دونم.


خوب فقط یه مشکل هست اونم تنظیمات دلفی و برنامه برای تحت شبکه شدنه.
اگه قبلا بحث شده میشه لینک مطلب رو بدین.
در همین بخش ConnectionString را جستجو کنید.

etedali
چهارشنبه 26 تیر 1387, 10:06 صبح
سلام به همگی من شبکه در دلفی را خیلی سرچ کردم اما جوابمو نگرفتم.
من برنامه فروشگاهی نوشتم میخوام تحت شبکه اجرا بشه اما میخوام برای شبکه یک فایل متنی بسازم که AdoConection من اطلاعات را از این فایل بخونه و بر نامه اجرا بشه هدف من اینه که دیگه نیاز به ساخت برنامه Client/Server نباشه فقط در این فایل متنی Ip کامپیوتر سرور را تایپ کنم و اطلاعات از دیتا بیس کامپیوتر Server خونده بشه در این فایل من میخوام با تغییر Data Source اطلاعات روی کامپیوتر سرور یا هر جایی بخوام اجرا بشه
من این روش را دیدم حالا می خوام بدونم ایا روش درستی هست یا نه اگر نیست برای شبکه چون اصلا کار نکردم باید چکار انجام بدهم.
من این روش را تست کردم یعنی اطلاعات را از فایل خوندم در قسمت ConectionString ریختم بعد جدول هام را خاصیت اکتیو را true کردم اما بازم نشد باید چه عملی انجام دهم در SQL هم نیازی هست تغییری بدهم.؟

vcldeveloper
پنج شنبه 27 تیر 1387, 01:51 صبح
اما میخوام برای شبکه یک فایل متنی بسازم که AdoConection من اطلاعات را از این فایل بخونه و بر نامه اجرا بشه هدف من اینه که دیگه نیاز به ساخت برنامه Client/Server نباشه فقط در این فایل متنی Ip کامپیوتر سرور را تایپ کنم و اطلاعات از دیتا بیس کامپیوتر Server خونده بشه در این فایل من میخوام با تغییر Data Source اطلاعات روی کامپیوتر سرور یا هر جایی بخوام اجرا بشه
خب اینی که نوشتید خودش یعنی یک برنامه Client\Server، حالا منظور شما از اینکه "نیاز به ساخت برنامه Client/Server نباشه" را متوجه نمیشم!

etedali
پنج شنبه 27 تیر 1387, 14:08 عصر
با سلام.
من درست منظور خودما نرسوندم منظور من اين بود كه برنامه ايي نميخوام كه دوتا Setup داشته باشه شبيه به نرم افزار هايي از قبيل Easy Cafe كه در كافي نت ها استفاده ميشه اينجور نمي خوام باشه كه براي كامپيوتر سرور نرم افزار سرور و براي كلاينتها نسخه كلاينت نصب بشه.
اگرميشه من را در نحو اجراي فايل متني كه بتونم فقط با دادن ip سرور مشخص كنم كدام كامپيوتر من سرور هست راهنمايي كنيد. براي اجراي اين كار اگر توضيحاتي به من بدهيد ممنون ميشم.

vcldeveloper
پنج شنبه 27 تیر 1387, 16:51 عصر
من درست منظور خودما نرسوندم منظور من اين بود كه برنامه ايي نميخوام كه دوتا Setup داشته باشه
در برنامه های Client\Server مبتنی بر بانک اطلاعاتی، شما فقط برنامه کلاینت را می نویسید، در سمت سرور برنامه مدیریت بانک اطلاعاتی قرار میگیره (مثلا MS SQL Server, MySQL, Oracle و...). پس برنامه شما فقط یک Setup داره، البته برنامه مدیریت بانک اطلاعاتی هم باید روی سرور نصب باشه. دیگه نیازی نیست که شما هم یک برنامه جداگانه برای سرور بنویسید و روی سرور نصب کنید.

etedali
پنج شنبه 27 تیر 1387, 18:20 عصر
سلام ممنون از راهنمایی.
من کارهایی که انجام دادم را میذارم ببینید من برای رفع اشکال کارم باید چه کارهایی انجام دهم. من در Data Madule در قسمت Form Create این کد ها را نوشتم

procedure TDm.DataModuleCreate(Sender: TObject);
var
s: textfile;
a:WideString;
begin
AssignFile(s,'a.txt');
Reset(s);
Readln(s,a);
ADOConnection1.ConnectionString := a;
ADOConnection1.LoginPrompt := false;
ADOConnection1.Connected := true;
TMoshtari.Connection := ADOConnection1;
TMoshtari.Active := True;
CloseFile(s);
end;
ایا با این روش فایل متنی من که در فولدری که برنامه نصب می شود وجود دارد خوانده می شود؟ آیا جدول مشتری درست ارتباط پیدا می کند؟ و سوال آخر اگر IP قسمت WorkStation Idفایل متنی را تغییر دهم روی کامپیوتر سرور برنامه اجرا می شود؟
متن فایل متنی را میذارم ببینید اشکال دارد یا خیر؟

Provider=SQLOLEDB.1;
Integrated Security=SSPI;
Persist Security Info=False;
Initial Catalog=Etedali;
Use Procedure for Prepare=1;
Auto Translate=True;
Packet Size=4096;
Workstation ID=SONY-N395E;
Use Encryption for Data=False;
Tag with column collation when possible=False


لطفا چون من اصلا شبکه را کار نکردم همه اشکالات کارم را بگید و اگر امکان داره راهنمایی کنید تا برطرف کنم.

vcldeveloper
جمعه 28 تیر 1387, 07:03 صبح
ایا با این روش فایل متنی من که در فولدری که برنامه نصب می شود وجود دارد خوانده می شود؟ با Readln فقط خط اول فایل متنی خوانده میشه. نیازی نیست از روش های قدیمی Trubo Pascal برای خواندن فایل استفاده کنید، روش راحتتر و مناسب تر:


var
CS : TStringList;
begin
CS := TStringList.Create;
try
CS.LoadFromFile('a.txt');
AdoConnection1.ConnectionString := CS.Text;
finally
CS.Free;
end;
end;


اگر IP قسمت WorkStation Idفایل متنی را تغییر دهم روی کامپیوتر سرور برنامه اجرا می شود؟ٌWorkStation ID خصوصیت مهمی نیست. شما می تونید حتی حذفش کنید. برای ارتباط با سرور، باید آدرس سرور و نام Database ایی که می خواید بهش وصل بشید، و Username\Password مربوطه را داشته باشید.
اگر سرور شما با کامپیوترهای کلاینت در یک Work Group باشند، فقط نام سرور کفایت میکنه (اگر برای MS SQL Server نصب آن اسمی گذاشتید، نام سرور + نام MS SQL Server، در غیر اینصورت، فقط نام کامپیوتر سرور). اگر در یک Work Group نیستند، آدرس IP سرور و نام MS SQL Server.
به نظر میاد در این ConnectiString ایی که شما گذاشتید، نام و آدرس سرور قرار داده نشده؛ همچنین نوع اعتبارسنجی کاربر Windows Authentication هست. در این حالت، باید به ازاء هر کاربری که به سرور وصل میشه، یک Username در ویندوز کامپیوتر سرور ایجاد کنید. برای پرهیز از اینکار، حالت Authentication را به SQL Server تغییر بدید. در این صورت، برای هر کاربر باید در خود SQL Server یک username\password تعریف کنید تا بتونه به سرور متصل بشه. این username\password هم باید در ConnectionString ذکر بشه.
می تونید یک بار با استفاده از AdoConnection به SQL Server موجود در سیستم خودتون وصل بشید و در دایالوگ باکس مربوطه مشخصات را درست وارد کنید، بعد ConnectionString را در سورس فایل مربوطه Copy\Paste کنید و بجای نام سرور و Username\Passowrd برای هر کلاینت مقادیر مناسب را بنویسید.

در این زمینه زیاد بحث شده، حتی راهنماهای قدم به قدم هم در سایت موجود هست.

etedali
دوشنبه 31 تیر 1387, 03:08 صبح
سلام به همه دوستان.
با راهنمايي هاي آقاي كشاورز من مشكلم كاملا حل شد اما دوباره براي من يه سوالي پيش اومد اينكه من اگر در برنامه ايي فرمي داشته باشم به نام ثبت كالا كه دو كاربر به صورت همزمان وارد اين قسمت شده و شروع به وارد كردن اطلاعات در Edit ها بشوند وقتي كه دكمه ذخيره را ميزنند تا ديتا بيس در حالت insert برود آيا مشكلي پيش نمياد؟ اگر مياد چه راه حلي پيشنهاد مي كنيد؟

vcldeveloper
دوشنبه 31 تیر 1387, 11:49 صبح
اگر در برنامه ايي فرمي داشته باشم به نام ثبت كالا كه دو كاربر به صورت همزمان وارد اين قسمت شده و شروع به وارد كردن اطلاعات در Edit ها بشوند وقتي كه دكمه ذخيره را ميزنند تا ديتا بيس در حالت insert برود آيا مشكلي پيش نمياد؟ اگر مياد چه راه حلي پيشنهاد مي كنيد؟
در همین بخش LockType را جستجو کنید.

arkia
چهارشنبه 10 خرداد 1391, 03:06 صبح
لزومی نداره MSDE را روی کلاینت ها نصب کنید. بر روی کلاینت ها باید فایل های مربوط به Client Connectivity نصب باشه که معمولا روی خود ویندوز نصب هست و عملا شما نیازی ندارید چیزی روی کلاینت ها خودتون نصب کنید.

میدونم پست قدیمیه اما Client Connectivity رو چجوری میشه جدا نصب کرد؟

vcldeveloper
جمعه 12 خرداد 1391, 22:05 عصر
میدونم پست قدیمیه اما Client Connectivity رو چجوری میشه جدا نصب کرد؟
در صفحه زیر دنبال Microsoft SQL Server 2008 Native Client بگردید، و از لینک های داده شده، دانلودش کنید.
http://www.microsoft.com/en-us/download/details.aspx?id=16177

maryammb66
پنج شنبه 25 خرداد 1391, 12:11 عصر
سلام
من می خوام برنامه ای که با دلفی نوشتم ، sql آن رو از هاست بخونم ، دیتابیسش تحت شبکه باشه ، میشه راهنمایم کنید؟
من Sql روی هاستم هست!
ADOConnection1 که هست رو چطوری تعریف کنم و data source &data table ها رو چطوری مقدار دهی کنم؟

mohsen24000
پنج شنبه 25 خرداد 1391, 16:07 عصر
اگر هاست شما امکان ارتباط به بانک اطلاعات رو بده فقط کافیه که آدرس آی پی هاست رو به جای نام سرور وارد کرده و به راحتی متصل شوید.
البته اکثر هاست های اشتراکی چنین امکانی رو فراهم نکرده و باید از سرورهای مجازی و اختصاصی که امکان ارتباط به بانک اطلاعات رو میدن رو استفاده کرد.

maryammb66
شنبه 27 خرداد 1391, 11:26 صبح
من کانکش استرینگ رو تونستم set کنم، حالا ado tabale va data source رو چطوری activ کنم؟

arkia
شنبه 27 خرداد 1391, 23:45 عصر
datasource که نیازی به اکتیو کردن نداره فقط باید ado table رو بهش وصل کنی و هر جا که دوست داشتی (هنگام لود فرم یا بعد از کانکت شدن کانکشن) بنویسی:

adotable1.active:=true;

SayeyeZohor
یک شنبه 28 خرداد 1391, 18:45 عصر
با سلام
خواستم از دوست خوبم آقاي كشاورز بپرسم استفاده از كامپوننت Sdac براي شبكه و ... بهتر از ado نيست؟

vcldeveloper
پنج شنبه 01 تیر 1391, 14:11 عصر
استفاده از كامپوننت Sdac براي شبكه و ... بهتر از ado نيست؟
ُSDAC با توجه به اینکه برای SQL Server بهینه سازی شده، قابلیت های بیشتری از SQL Server را نسبت به ADO در اختیار برنامه نویس قرار میده، و سرعتش هم تا حدودی بهتر از ADO هست.