PDA

View Full Version : فارسی کردن پیغام خطا های SQL SERVER



vatal
دوشنبه 09 آذر 1383, 01:59 صبح
با سلام :sunglass:
آیا راهی برای فارسی کردن پیغام های خطای SQL SERVER وجو دارد ؟

با تشکر :VATAL ::نوشتن::

AminSobati
دوشنبه 09 آذر 1383, 12:09 عصر
دوست عزیزم،
در Enterprise Manager از خود Server یکبار Properties بگیرین، در Server Settings آیتم Allow modifications to be made... تیک بزنین. حالا در جدول sysmessages در دیتابیس Master میتونین ویرایش انجام بدین.
اما من به هیچ وجه توصیه نمیکنم این کار رو. چون کار اصولی نیست و این وظیفه Client هست که Error رو Handle کنه و پیغام مناسب بده.

_alish_
دوشنبه 09 آذر 1383, 14:59 عصر
امین آقا از راهنمایی های جالبتان ممنونم
در صورتی که ای تبیل را فارسی کنیم آیا طوری می شود از طریق برنامه Allow modifications را ست کرد که این جدول را بشود Update نمود

متشکرم

AminSobati
دوشنبه 09 آذر 1383, 15:17 عصر
exec sp_configure 'allow updates',1
reconfigure with override
ممکنه Enterprise Manager به سرعت Refresh نشه و در ظاهر تاثیرش رو نبینین. ولی اگر یک Enterprise Manager دیگه باز کنین، در اون مشخص خواهد بود. راه بهتر اینه که از:

exec sp_configure
برای دیدن تظیمات Allow Update استفاده کنین.
موفق باشید

_alish_
دوشنبه 09 آذر 1383, 15:52 عصر
کارت درسته .امیدوارم در کارهایت موفق باشی :thnx: :flower:

AminSobati
دوشنبه 09 آذر 1383, 16:29 عصر
:)

vatal
سه شنبه 10 آذر 1383, 02:19 صبح
با سلام و تشکر از راهنمایی خوبتون !

مشکل من اینجاست که بر فرض برنامه ای است که با دلفی نوشته شده
و database برنامه با sqlserver ...... در این صورت یک تعداد خطاهایی است

که پیغام خطای اونها توسط sql server داده میشه .......

با این راه حلی که اراپه دادین .... این مشکل حل میشه یا نه :sorry:

hmm
سه شنبه 10 آذر 1383, 08:40 صبح
دوست عزیزم،
در Enterprise Manager از خود Server یکبار Properties بگیرین، در Server Settings آیتم Allow modifications to be made... تیک بزنین. حالا در جدول sysmessages در دیتابیس Master میتونین ویرایش انجام بدین.
اما من به هیچ وجه توصیه نمیکنم این کار رو. چون کار اصولی نیست و این وظیفه Client هست که Error رو Handle کنه و پیغام مناسب بده.
:thnx:
کارت درسته مهندس

AminSobati
سه شنبه 10 آذر 1383, 11:48 صبح
با این راه حلی که اراپه دادین .... این مشکل حل میشه یا نه
دوست عزیزم،
هر Error حداقل دارای 2 مشخصه هستش:
1) Description
2) Number
هر دو مورد رو SQL Server به کلاینت ارسال میکنه در زمان بروز خطا. اینجا شما از Description صرف نظر کنین ولی Error Number به شما کمک میکنه تا متوجه بشین کدوم خطا اتفاق افتاده.
علت اینکه عرض میکنم با Description کاری نداریم اینه که بسیاری اوقات این Description برای کاربر مفهوم نیست. مثلا ممکنه خطا در مورد تخطی از یک Constraint باشه که کاربر مفهوم اون رو متوجه نمیشه چرا که از ساختار دیتابیس شما چیزی نمیدونه. ولی شما از روی Error Number متوجه نوع اشکل هستین و به کاربر یک پیغام معنی دار نمایش میدین.

yazdan
یک شنبه 20 دی 1383, 07:53 صبح
با سلام
میشه بگین این Error Number رو چجوری بدست بیاوریم؟
داخل چه متغیری است ؟ و از کجا ها به اوون دسترسی داریم؟

mahdie
یک شنبه 20 دی 1383, 10:48 صبح
غالی بود. :موفق:

AminSobati
یک شنبه 20 دی 1383, 23:07 عصر
میشه بگین این Error Number رو چجوری بدست بیاوریم؟
در SQL Server توسط @@Error و در کلاینت، بستگی به زبان برنامه نویسیه شما داره.

@@ERROR

yazdan
دوشنبه 21 دی 1383, 23:49 عصر
من از دلفی 5 و 7 استفاده می کنم

AminSobati
سه شنبه 22 دی 1383, 11:51 صبح
دوست عزیزم،
در مورد تکنیکهای Error Handling در دلفی اطلاعی ندارم. ولی دقیقا همین عبارت(Error Handling) رو در Help دلفی مطالعه بفرمایید.
موفق باشید

vcldeveloper
یک شنبه 27 دی 1383, 05:39 صبح
من از دلفی 5 و 7 استفاده می کنم
کامپوننت ADOConnection یک شی به اسم Errors داره که لیست تمامی خطاها و مشخصاتشون (شامل شماره و توضیح خطا) رو نگه داری میکنه.
از طرفی رویدادهای مختلفی هم هستند که در زمان خطا فعال میشند و خطا رو بصورت یک استثناء بر می گردونند مثل OnEditError یا OnPostError.
اگر کامپوننت ApplicationEvents رو از پالت Additional روی فرم بزارید می تونید با استفاده از رویداد OnException تمامی استثناپات برنامه رو Handle کنید.