PDA

View Full Version : مشکل کانکشن استرینگ در سی شارپ



reghbali06
چهارشنبه 29 تیر 1390, 19:41 عصر
با سلام
برنامه ای برای ثبت مشخصات دانش آموزان یک مدرسه 1000 نفری با سی شارپ نوشته ایم
برای پر کردن اطلاعات دیتابیس می خواهیم از روی 10 کامپیوتر به طور همزمان به برنامه ای که روی یک سیستم اجرا است دسترسی پیدا کرده و هر کس فرم را پر کرده و دیتابیس را به این صورت پر کنیم
راه حل چیست؟
کانکشن استرینک را چه باید بگذاریم؟
برنامه ی ما روی یک سیستم درست جواب می دهد.

با تشکر

reghbali06
چهارشنبه 29 تیر 1390, 20:59 عصر
شرمنده متوجه نمی شوم
میشه با یه مثال بگید
پس نیاز به sql server manament ندارم واینکه دیتابیس رو تو پروژه اضافه کردم مشکلی ندارم

فولدر دیباگ پروژه رو شیر کردم وقتی از یه سیستم دیگه میخوام بهش وصل شوم مشکل زیر بوجود میاد

http://up.vatandownload.com/images/xbc848enfx10kaprlb6.png

reghbali06
چهارشنبه 29 تیر 1390, 22:02 عصر
منظورتون از فرم لاگین چیه
من فقط یک فرم دارم (Form1)

میشه یه پروژه کوچیک برام بذارید
ممنون

yeganehaym
پنج شنبه 30 تیر 1390, 00:29 صبح
http://www.connectionstrings.com
(http://www.connectionstrings.com)

reghbali06
پنج شنبه 30 تیر 1390, 09:52 صبح
بازم حل نشد
کانکشن استرینگ رو مقدار زیر گذاشتم
Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database22.mdf;Integrated Security=True;User Instance=True
ولی بازم جواب نداد

یه بار دیگه بهتره مشکل رو بگم
من یه فرم ثبت نام دارم که روی یه سیستم عملیات درست انجام میشه
جون تعداد کسانی که باید در دیتابیس ثبت شوند زیاد است می خواهیم از طریق شبکه فرم ها رو پر کنیم
برای این کار پوشه دیباگ پروژه رو شیر کردم و از سیستم های دیگه فرم را اجرا می کنم ولی مشکل زیر رو هنگام اضافه کردن کاربر می گیره
72738

دیتابیس رو هم با گزینه add new item به پروژه ام اضافه کرده ام
آیا روند کاریم درسته؟
کسی راه حلی برای انجام این کار نداره؟

reghbali06
پنج شنبه 30 تیر 1390, 10:19 صبح
با سلام
شرمنده مسئول پروژه یمون گفتن که اصل برنامه رو نذارین(چون یکسری کاربران در دیتابیس وارد شده اند !!!!! ) من یک برنامه ی دیگه نوشتم که و همون روند رو انجام دادم
تو این برنامه دو تا tetbox دارم و دو تا دکمه که با کلیک روی آنها اطلاعات به دیتابیس اضافه میشه

ممنون
بازم شرمنده که نتونستم اصل برنامه رو بذارم
اینم لینکش
https://rapidshare.com/files/993561380/WindowsFormsApplication3.rar

sadra1234
پنج شنبه 30 تیر 1390, 10:43 صبح
سلام
جناب hojati اگه آدرس سرور رو از یه textbox بگیریم ، هر بار که برنامه رو اجرا می کنیم باید اونو وارد کنیم.
چه طور میشه که فقط بار اول اونو وارد کنیم و دفعات بعد نیاز به این کار نباشه؟
میشه آدرس سرور رو یه جایی ذخیره کرد؟

reghbali06
پنج شنبه 30 تیر 1390, 14:40 عصر
خیلی ممنون آقای حجتی
خود فرم رو تو لینک زیر گذاشتم
مستندات خاصی رو هم نداریم فقط دیتابیس اطلاعات پر شده را از ما می خواهند.
بازم خیلی ممنون که می خواهید این کارو برام انجام دهید

https://rapidshare.com/files/3403389590/WindowsFormsApplication4.rar

gerdioz
پنج شنبه 30 تیر 1390, 17:16 عصر
سلام دوست عزیز بانک اطلاعات شما اگه اس کیو ال هست باید sqlserver رو در سیستم خود نصب کنید
و سایر کاربران به بانک شکا متصل بشند حالا مشکل کجاست و چه نیازی و چه حرفیه که شما فایل تون رو توش بکه share کنید چون در اون صورت باید fullshare کنید که امنیت نداره و مکنه کسی اونو پاک کنه

reghbali06
پنج شنبه 30 تیر 1390, 17:31 عصر
سلام دوست عزیز بانک اطلاعات شما اگه اس کیو ال هست باید sqlserver رو در سیستم خود نصب کنید
و سایر کاربران به بانک شکا متصل بشند حالا مشکل کجاست و چه نیازی و چه حرفیه که شما فایل تون رو توش بکه share کنید چون در اون صورت باید fullshare کنید که امنیت نداره و مکنه کسی اونو پاک کنه

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

linux
پنج شنبه 30 تیر 1390, 17:35 عصر
یک روش کمی تا قسمتی حرفه ای:
1- شما یک کامپیوتر احتیاج دارید که نقش سرور را بازی کند، این کامپیوتر با توجه به تعداد افرادی که قرار هست از سیستم استفاده کنند می تواند از یک PC ساده با مشخصات که قابلیت اجرای ویندوز 2008 r2 را داشته باشد تا یک سرور مثل سرورهای hp با مشخصات فنی بالا تغییر کند
2- بر روی سرور شما sql server و IIS را باید نصب کنید.
3- بک برنامه از نوع وب سرویس می نویسد که کارش ارائه وب سرویس های مورد نظر شما باشد مانند افزودن و ویرایش و حذف مقادیر در دیتابیس
4- یک برنامه winapp می نویسید که از سرویس های برنامه قبلی استفاده می کند.
برنامه اول بر روی سرور اجرا می شود و کانکشن استرینگ در آن مورد استفاده قرار می گیرد و برنامه ی دوم بر روی کامپیوتر های دیگر

gerdioz
پنج شنبه 30 تیر 1390, 18:18 عصر
در پاسخ به دوست عزیزم.ن نیازی به وب سرویس نیست با برنامه ویندوزی میشه همون کارو کرد
یک کامپیوتر اس کیوا ال سرور نصب کرده و تو شبکه هر چند کاربر میتونه به اون وصل بشه و تغییرات رو در بانک انجام بده
Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

ma.rad
پنج شنبه 30 تیر 1390, 18:34 عصر
آیا میشه بدون نصب sql server و فقط با نصب sql express رنامه رو تحت شبکه کرد
اگر امکان داره توضیح بدید؟؟؟

gerdioz
جمعه 31 تیر 1390, 10:42 صبح
دوست عزیز تا اون جا که من کار کردم و من میدونم از SQLSERVER استفاده میشه ، دلیل خاصی داره که از اون استفاده نمیکنید

ho.yasreby
سه شنبه 30 آبان 1391, 09:11 صبح
من کدم رو اینطور نوشتم


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;

private void Form2_Load(object sender, EventArgs e)
{
string connectionstring = "Data Source=mostafa;Initial Catalog=henaras_project1;Integrated Security=True";
SqlConnection sqlcon1 = new SqlConnection(connectionstring);
string commandtext = "insert into Moshtarian(name,num) values('name',2)";
SqlCommand sqlcomm1 = new SqlCommand(commandtext, sqlcon1);
sqlcon1.open();
sqlcomm1.ExecuteNonQuery();
sqlcon1.close();


ولی ارور زیر رو میده
Error 1 'System.Data.SqlClient.SqlConnection' does not contain a definition for 'open' and no extension method 'open' accepting a first argument of type 'System.Data.SqlClient.SqlConnection' could be found (are you missing a using directive or an assembly reference?) \\WindowsFormsApplication1\WindowsFormsApplication 1\Form2.cs 68 21 WindowsFormsApplication1
خواهش میکنم راهنمایی کنید

nilmil_nil
سه شنبه 30 آبان 1391, 09:56 صبح
دوست عزیز همونطور که دوستان میگن SQl Express فقط برای
یه سیستم استفاده میشه
شما باید روی سرور SQLServer رو نصب کنی و کانکشن استرینگ رو هم IP سرور رو بدی
دیگه نیازی به share کردن دیتابیس نیست فقط برنامتو روی هر کلاینت نصب کن

ho.yasreby
سه شنبه 30 آبان 1391, 14:23 عصر
سلام
من اسکیو ال سرور 2012 نصب کردم و از داخل برنامه هم وقتی گرید میزارم دستی اتصال برقرار میشه ولی چون میخوام از طریق برنامه رکوردهارو پر کنم مجبور به این کار شدم
ممنون

programerinfonet
سه شنبه 30 آبان 1391, 14:47 عصر
خیلی میبخشید
دوشت عزیز سوالت نامفهومه

ho.yasreby
سه شنبه 30 آبان 1391, 19:43 عصر
خیلی میبخشید
دوشت عزیز سوالت نامفهومه
2 تا پست قبلی رو ببینید کامل توضیح دادم
یعنی موقع اجرا زیر open , close خط قرمز میکشه و اروری که نوشتم رو میده و کار نمیکنه

RIG000
سه شنبه 30 آبان 1391, 20:00 عصر
Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;
User ID=myUsername;Password=myPassword;

ho.yasreby
سه شنبه 30 آبان 1391, 20:30 عصر
Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;
User ID=myUsername;Password=myPassword;

نشد دوست عزیز

Nima_kyan
چهارشنبه 01 آذر 1391, 00:17 صبح
سلام
دوست عزیز مشکل شما توی این لینک کامل توضیح داده شده(به صورت PDF)
http://barnamenevis.org/showthread.php?297738-%D8%A7%D8%AA%D8%B5%D8%A7%D9%84-%D8%A8%D9%87-%D8%B3%D8%B1%D9%88%D8%B1-%D8%A7%D8%B2-%D8%B7%D8%B1%DB%8C%D9%82-IP-Address&p=1306211&viewfull=1#post1306211
موفق باشی

ho.yasreby
چهارشنبه 01 آذر 1391, 08:25 صبح
سلام
دوست عزیز مشکل شما توی این لینک کامل توضیح داده شده(به صورت PDF)
http://barnamenevis.org/showthread.php?297738-%D8%A7%D8%AA%D8%B5%D8%A7%D9%84-%D8%A8%D9%87-%D8%B3%D8%B1%D9%88%D8%B1-%D8%A7%D8%B2-%D8%B7%D8%B1%DB%8C%D9%82-IP-Address&p=1306211&viewfull=1#post1306211
موفق باشی
نمیشه نمیدونم مشکل کجاست
من از خودش کپی میکنم میذارم بازم نمیشه
ببینید
95329
به اینصورد در ویزارد گراید ویو وصل میشه ولی وقتی کانکشن استرینگ رو به کدم اضافه میکنم نمیشه


string connectionstring = "Data Source=mostafa;Initial Catalog=henaras_project1;Integrated Security=True;";
SqlConnection sqlcon1 = new SqlConnection(connectionstring);
string commandtext = "insert into Moshtarian(name,num) values('name',2)";
SqlCommand sqlcomm1 = new SqlCommand(commandtext, sqlcon1);
sqlcon1.open();
sqlcomm1.ExecuteNonQuery();
sqlcon1.close();


ضمناً نمیشه از اتصال برقرار شده در گرید ویو استفاده کرد و یه جوری کانکشن استرینگ sqlconnection رو از آنجا آدرس داد ؟

ho.yasreby
پنج شنبه 02 آذر 1391, 17:44 عصر
پیدا کردم


string connectionString = "Integrated Security=SSPI;" +
"Persist Security Info=False;" +
"Initial Catalog=henaras_project1;Data Source=mostafa";