PDA

View Full Version : سوال: استفاده نكردن از dbo در اتصال به بانك يعني چه؟



rana-writes
دوشنبه 02 آبان 1390, 16:18 عصر
سلام دوستان برنامه نويس

من يه سوال داشتم
جديدا هاستم رو عوض كردم
تو هاست قبلي وقتي توي ديتابيس آپلود شده جدولي ايجاد ميكردم، به طور خودكار كلمه dbo بعد از اسم جدولم قرار ميگرفت
برنامه هم درست اجرا ميشد و مشكلي نداشت
وقتي هاستم رو عوض كردم، تصميم گرفتيم يه بخش جديد به سايت اضافه كنيم كه بايد جدول مربوطه رو هم اضافه ميكردم
تو لوكال كه مشكلي نبود، اما وقتي سايت رو دوباره آپ كرديم و جدول جديد رو روي ديتابيسي كه تو هاست بود ساختم، اون رو شناسايي نميكرد و از پشتيبان هاست كمك گرفتم، متوجه شده بودم كه اسم جدولهاي ديگه ام همه شون با dbo هست، به غير از جدول جديد
پشتيبان هاست مشكل رو برطرف كرد و برام نوشت كه تو برنامه تون از dbo براي اتصال به بانك استفاده نكنين
حالا اين حرف يعني چي؟

ممنون ميشم راهنماييم كنين

Saman Hashemi
دوشنبه 02 آبان 1390, 16:45 عصر
فکر کنم باید یه user جدید تعریف کنی و از اون برای ساختن جداول و... استفاده کنی...!
یا شاید منظورش این بوده که در ابتدای نام جداول و ... که استفاده میکنید dbo نذارید ...!
که احتمال دومی بیشتره...!

rana-writes
دوشنبه 02 آبان 1390, 16:57 عصر
فکر کنم باید یه user جدید تعریف کنی و از اون برای ساختن جداول و... استفاده کنی...!
یا شاید منظورش این بوده که در ابتدای نام جداول و ... که استفاده میکنید dbo نذارید ...!
که احتمال دومی بیشتره...!

نه اسم dbo به طور خودكار مي افته پشت جدولهايي كه الان توي هاست هستن در واقع بهتره بگم جدولهايي كه قبلا تو لوكال ايجاد كرده بودم و وقتي ديتابيس رو كلا آپلود كردم، اين اسم پشتشون قرار ميگيره
من دستي چيزي رو وارد نميكنم يعني توي local جدولهام به حالت معمولي ايجاد ميشن

در مورد ساخت يوزر گفتين، يعني توي لوكال هم user بسازم براي ديتابيسم؟

ممنون از راهنماييتون

farhud
دوشنبه 02 آبان 1390, 17:44 عصر
من هم با همچین مشکلی برخورد کردم.

چیزی که من فهمیدم این است که:
dbo مالک آن پایگاه داده و جدول محسوب می شود ولی وقتی با یک نام کاربری دیگری یک جدول درست کنی، آن نام کاربری به عنوان مالک شناخته شده و در جلوی آن قرار می گیرد. مثلا به جای dbo.TableName میشه farhu.TableName.

مشکل من که درست همین بود و بعد از تغییر owner جدول، مشکل حل شد.

rana-writes
دوشنبه 02 آبان 1390, 18:03 عصر
من هم با همچین مشکلی برخورد کردم.

چیزی که من فهمیدم این است که:
dbo مالک آن پایگاه داده و جدول محسوب می شود ولی وقتی با یک نام کاربری دیگری یک جدول درست کنی، آن نام کاربری به عنوان مالک شناخته شده و در جلوی آن قرار می گیرد. مثلا به جای dbo.TableName میشه farhu.TableName.

مشکل من که درست همین بود و بعد از تغییر owner جدول، مشکل حل شد.

منم اينو متوجه شدم
كه dbo صاحب اون جدول محسوب ميشه
ولي سوالم اينه وقتي من جدولي رو ميام و توي ديتابيس روي هاست ميسازم، بعد تو برنامه م ازش استفاده ميكنم
چطوري ميشه كه باز پاي dbo مياد وسط؟
وقتي با جدولها از طريق storedProcedure در ارتباط هستم اين dbo سروكله ش از كجا پيدا ميشه؟

asif1358
دوشنبه 02 آبان 1390, 23:25 عصر
Database Owner (هرچند همان مالک دیتابیس است اما) به کاربری میگند که محدودیتهایی دارد و نمی تواند کنترل سرور را داشته باشد

rana-writes
سه شنبه 03 آبان 1390, 11:49 صبح
Database Owner (هرچند همان مالک دیتابیس است اما) به کاربری میگند که محدودیتهایی دارد و نمی تواند کنترل سرور را داشته باشد

حالا من سوالم اينه
كه بايد كجا رو تغيير بدم كه مالك جدولهام از اين به بعد dbo نباشه
جدولي كه روي ديتابيسي كه توي هاست ساخته ميشه، چطوري ميشه كه توسط برنامه شناسايي نميشه؟

ممنون از راهنماييتون