PDA

View Full Version : مشکل با sql server بر روی سرور



reham
دوشنبه 11 آبان 1383, 19:27 عصر
کمکککککککککک
خودمو کشتم این برناممو به دیتا بیس روی سرور متصل کنم ولی نشد.
بر نامم با vb.net
یه user name pass روی دیتا بیسم تعریف کردم و به سرور کانکت میشم ولی بعضی از اعمال فقط select رو دیتابیس انجام میشه باقی اعمال update , insert, delete مربوط به sqldataadapter انجام نمیشه و error میده.
یه چیزی شبیه این:
ado:error
کمککککککککککککککککککککککک ککککککککککککککککککک

hmm
سه شنبه 12 آبان 1383, 08:23 صبح
تعیین سطح دسترسی این کاربر رو چک کنید که آیا به او اجازه این عملها رو داده اید یا خیر

reham
سه شنبه 12 آبان 1383, 18:59 عصر
چه جوری؟
اخه وقتی خودم یه دیتابیس مستقیم رو سرور درست میکنم و چند تا دیتای نمونه توش میریزم و یه کاربر براش تعریف میکنم مشکلی نداره.
ولی وقتی دیتا بیس خودم رو restore میکنم مشکل داره. :cry:
بد جوری گیرم :cry:
اینم error
ADO error: Cannot resolve collation conflict for column 2 in SELECT statement.
:cry:

AminSobati
چهارشنبه 13 آبان 1383, 02:25 صبح
وقتی دیتا بیس خودم رو restore میکنم مشکل داره
دوست عزیزم،
زمانیکه در SQL Server یک Login تعریف میکنید، این Login در دیتابیس Master ثبت میشه و Username در دیتابیس خودتون. پس اگر دیتابیس رو جایی Restore میکنین که Login شما وجود نداره، باید Login رو اونجا هم بسازین یا اینکه Backup از Master خودتون رو هم در اونجا Restore کنین تا Login ها منتقل بشن(راه اول رو پیشنهاد میکنم).
اگر Backup شما از جای دیگه به این SQL Server منتقل میشه، حتما Login هایی رو که در SQL Server قبلی ازشون استفاده میکردین، اینجا هم بسازین.
موفق باشید

reham
پنج شنبه 14 آبان 1383, 00:53 صبح
سلام.
اخه من بدون login و تعریف use pass به دیتابیس رو سیستم خودم وصل میشم.
ولی برای وصل شدن به سرور وقتی دیتابیسم رو restore کردم و دیدم connect نمیشم رو سرور رو دیتابیس خوذم که restore کردم یه login تعریف کردم.
بعد رو کامپیوتر خودم تو برنامه با اون login جدید به دیتابیس connect شدم ولی این مشکل پیدا شد.
دیگه حسابی کفرم در اومده بدادم برسید.
کلی زحمت رو برنامه کشیدم ولی نمیتونم به سر انجام برسونمش.
از توجهتون خیلی ممنونم. :oops:

AminSobati
پنج شنبه 14 آبان 1383, 01:03 صبح
سلام،
در دیتابیس، روی username دابل کلیک کنین و اون رو عضو db_owner قرار بدین. شاید مشکل شما همون سطح دسترسی باشه که دوستمون hmm اشاره کردند.

reham
جمعه 15 آبان 1383, 11:01 صبح
این کار رو هم انجام دادم ولی باز هم مشکل سر جاشه. :cry:
خیلی ممنوم از این که بهم محل میدین .نمیدونم دیگه چی کار کنم.
نمیتونم هم دیتا بیسمو از اول اونجا بسازم چون 2000 رکورد ثبت شده دارم اپراتوره میمیره اگه بخواد دیتا ها رو از اول وارد کنه.
:cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry:

AminSobati
جمعه 15 آبان 1383, 20:12 عصر
یعنی مشکل شما Security نیست؟!...
پس اگر ممکنه در مورد مشکلتون یک مقداری با جزییات بیشتر توضیح بدین، شاید من هنوز متوجه اشکال نشدم...

reham
جمعه 15 آبان 1383, 20:43 عصر
سلام باز هم از توجهتون ممنون.
همونطور که گفتم من یه برنامه با vb.net نوشتم و بانک sql server 2000 .برنامم local کار میکنه و مشکلی نداره.
من برای قرار دادن دیتابیس رو سرور از دیتا بیسم back up گرفتم و اونو رو سرور restore کردم.یه user name و pass تعریف کردم و اون رو dbowner هم قرار دادم.
وقتی از برنامه به اون کانکت میشم , connection string رو عوض میکنم تو sqldataadapter توابع insert , update, delete با این error مواجه میشن
ADO error: Cannot resolve collation conflict for column 2 in SELECT statement.
فقط تابع select کار میکنه.
این مشکل رو وقتی دارم که دیتابیس رو restor میکنم ولی وقتی مستقیم رو sqlserver روی سرور میسازم مشکلی نیست .

کمککککککککککککککککککککککک ککک :cry:

AminSobati
جمعه 15 آبان 1383, 23:49 عصر
بسیار خوب! مشکل شما Security نیست و احتمالا به جواب نزدیک شدیم..
لطفا دو مورد رو Post کنین اینجا:
- در EM روی خود SQL Server (نه دیتابیس) رایت کلیک کنین و Properties بگیرین. تقریبا در وسط صحفه ای که باز میشه، Server Collation رو یاد داشت کنین. ضمنا این کار باید روی سروری انجام بشه که مشکل باهاش دارین (به نظرم همونجایی که restore انجام دادین)
- حالا از خود دیتابیس که باهاش مشکل دارین رایت کلیک کنین و Properties بگیرین و Collation Name رو یادداشت کنین.
این دو مورد رو لطفا Post کنین.

reham
یک شنبه 17 آبان 1383, 01:21 صبح
چشم حتما فردا این کار رو میکنم
از تئجهتون خیلیییییییییییییییییییییی ییی ممنون
مهربون :flower:

reham
یک شنبه 17 آبان 1383, 01:22 صبح
چشم حتما فردا این کار رو میکنم
از تئجهتون خیلیییییییییییییییییییییی ییی ممنون
مهربون :flower:

reham
یک شنبه 17 آبان 1383, 01:26 صبح
سلام مهربوووووووووووون از تئجهت ممنون حتما فردا این کار رو میکنم زودی خبر میدم
بازم ممنون.
مهربووووووووووووون. :flower:

reham
یک شنبه 17 آبان 1383, 18:52 عصر
خوب دیتابیسی که restore کردم که collation name نداره جلوش خالیه.
و server cpllation:sql_latin1_general_cp1256_ci_as
بقیه دیتابیسها که دارن درست کار میکنند این collation رو دارم.
اگه میشه راهنماییم کنید. :flower:

AminSobati
یک شنبه 17 آبان 1383, 22:22 عصر
این مشکل معمولا زمانی ظاهر میشه که Collation دیتابیس با Collation سرور یکی نباشه.
به عنوان راه حل، یکی از دو کار رو انجام بدین:
1) یک دیتابیس (در مقصد بسازین) که نام Collation اون، با سرور یکی باشه. یعنی (Server default) رو هنگام ساخت دیتابیس تغییر ندین. حالا تمام اطلاعات رو از دیتابیس اصلی به این دیتابیس Import کنین. یادتون باشه که موقع Import، حتما گزینه Copy objects and data between SQL Server databases رو انتخاب کنین. حالا از برنامه به این دیتابیس کانکت بشین و تست کنین که آیا هنوز مشکل باقیه یا نه.
2) از Server Explorer جداول رو به محیط Form هیچ وقت Drag نکنین. چون ADO.NET خودش Code رو Generate میکنه. به جای این کار، SqlDataAdapter رو توسط کدنویسی ایجاد کنین و Property های UpdateCommand، DeleteCommand و InsertCommand رو در کد تعریف کنین.
امیدوارم مشکلتون حل بشه..

reham
دوشنبه 18 آبان 1383, 17:34 عصر
خیلیییییییییییییییییییییی یی ممنون این کار ها رو انجام میدم و نتیجه رو خبر میدم.
واقعا از توجهتون ممنونم
مهربووووووووووووووووووووو ووووووووووووووووووووووووو ووووووووووووووووووووووووو ووووووووووووووووووووووووو ووووووون :thnx: :thnx: :thnx: :thnx: :thnx: :thnx: :thnx: :thnx: :thnx: :thnx: :thnx: :thnx: :thnx:

reham
جمعه 22 آبان 1383, 23:13 عصر
سلام این کارا رو کردم ولی باز هم مشکل برقراره.
راستی من column ها nvarchar دارم .اونجام باید collation تنظیم بشه؟
نظر شما چیه؟

AminSobati
شنبه 23 آبان 1383, 00:50 صبح
Collation برای Columnها باید <database default> باشه و نیازی به تغییر نداره. مشکل شما برای من یک مقدار عجیبه.
اگر اشتباه نکنم Server Collation برای سروری که روش مشکل دارین رو sql_latin1_general_cp1256_ci_as فرمودین. لطفا از سروری هم که برنامه درست کار میکنه Properties بگیرین و Server Collation رو Post کنین. امیدوارم این دو تا با هم فرق داشته باشن! (فقط جهت تاکید، از سرور Properties بگیرین نه از دیتابیس)
موفق باشید

reham
شنبه 23 آبان 1383, 17:07 عصر
وای من خیلی شما رو اذیت کردم .باشه تحملم کنید فردا این کارو انجام میدم.ممنون. :thnx:

reham
جمعه 29 آبان 1383, 14:58 عصر
سرور خودم که برنامه من روش درست کار میکنه:
sql_latin1_general_cp1_ci_as

sql server مربوط به سروری که برنامم روش درست کار نمیکنه:

sql_latin1_general_cp1256_ci_as


از راهنماییتون خیلی ممنونم.ولی مشکلم اینجوری حل شد میدونم راه مسخره ایه.اومدم دیتا بیسم رو تو access export کردم و رو ی سروری که مشکل داره import کردم و مشکل حل شد نمیدونم راهم درسته یا نه :thnx: :thnx: :thnx: :thnx: :thnx: :flower:

AminSobati
جمعه 29 آبان 1383, 22:38 عصر
پس درست حدس زده بودم، Collationها یکی نبودن. کاری که کردین اشتباه نیست ولی من در همون Postهای قبل تر پیشنهاد کرده بودم که یک دیتابیس جدید (روی سروری که مشکل داره) ایجاد کنین و اطلاعات رو از دیتابیس سالم به دیتابیس جدید منتقل کنین :گیج:
شما با واسطه Access این کار رو انجام دادین. به هر حال بسیار خوشحالم که مشکلتون حل شد :D

reham
یک شنبه 01 آذر 1383, 23:39 عصر
اقای ثباتی عزیز از کمکتون بی نهایت ممنونم
:thnx: :thnx: :thnx: :thnx: :thnx: :thnx: :thnx: :thnx: :thnx: :thnx: :thnx:

AminSobati
دوشنبه 02 آذر 1383, 21:12 عصر
موفق باشین