PDA

View Full Version : مشکل با دیتابیس Oracle



shahroozj
پنج شنبه 24 شهریور 1384, 14:39 عصر
سلام دوستان

من می خواهم از دیتا بیس Oracle استفاده کنم یک table ایجاد کردم با یک فیلد از نوع varchar با طول 20 وقتی می خواهم یک رکورد از طریق ASP.NET به آن اضافه کنم با این پیغام مواجه میشم




ORA-12899: value too large for column "TEST"."USERS"."USERNAME" (actual: 19, maximum: 18) ORA-06512: at "TEST.ADDUSER", line 12 ORA-06512: at line 1



که ADDUSER نام StoredProcedure من است

در ضمن connectionstring من این است :
Provider=OraOLEDB.Oracle;Persist Security Info=False;User ID=a;Password=a;Data Source=test;PLSQLRset=1;

و از System.Data.OleDb استفاده میکنم

Behrouz_Rad
پنج شنبه 24 شهریور 1384, 17:46 عصر
خطای فوق بیانگر این مطلب است که اندازه ی داده مورد نظر شما جهت قرار دادن در فیلد مورد نظر، بیش از مقدار تعریف شده در بازه ی فیلد است.
نکته ی بسیار مهمی که احیانا فراموش کرده اید این است که اگر از TextArea استفاده می کنید، هر بار فشردن کلید Enter باعث اضافه شدن 2 کاراکتر نامرئی به Text Box شما می شود.
کاراکترهای CR یا Carriage Return و کاراکتر LF یا Line Feed

پس فرضا اگر در خط اول، دو کاراکتر و در خط دوم، یک کاراکتر وجود داشته باشد، طول متن شما پنج کاراکتر خواهد بود.
موفق باشید.

shahroozj
شنبه 26 شهریور 1384, 08:50 صبح
باتشکر از توجه شما

من حتی به صورت دستی چند کاراکتر را به stored procedure ارسال کردم یعنی از طول آن مطمئن هستم و جالب اینکه اگر به صورت query این عمل را انجام دهم به مشکل نمی خورم :(