PDA

View Full Version : ارتباط sql server با سایر زبانهای برنامه نویسی



a-mohebbi
دوشنبه 16 آذر 1383, 10:53 صبح
باسلام به همه دوستان

ساده ترین روش ارتباط بین sql server با سایر زبانهای برنامه نویسی (مثلا vb بعنوان platform ) چیست ؟


باتشکر

AminSobati
دوشنبه 16 آذر 1383, 21:02 عصر
دوست عزیزم،
من اگر جای شما باشم، فقط از ابزاری که خود مایکروسافت توصیه کرده استفاده میکنم: ADO

a-mohebbi
سه شنبه 17 آذر 1383, 12:36 عصر
جناب مدیر بخش
باسلام

روش ارتباط با ADO گاها به خاطر Relationship پایگاه داده امکان دسترسی به برخی جدولهارا نمی دهد.یعنی برای برخی جدولها پایگاه داده پیغامی می دهد ، مبنی براینکه جدول مورد نظر فقط خواندنی است .

لطفا روشهای دیگری اگر باشد اطلاع دهید .
باتشکر

Developer Programmer
سه شنبه 17 آذر 1383, 16:58 عصر
من اگر جای شما باشم، فقط از ابزاری که خود مایکروسافت توصیه کرده استفاده میکنم: ADO
امین جان از تمنا میکنم ADO رو از دید کاملا حرفه ای و مهندسانه نقد و بررسی کن
اکثر برنامه نویسها از جمله خود من به برخی از امکانات ADO عادت کردیم و غیر از آن رو امتحان نکردیم لذا بی دلیل از آن استفاده میکنیم

AminSobati
چهارشنبه 18 آذر 1383, 01:13 صبح
روش ارتباط با ADO گاها به خاطر Relationship پایگاه داده امکان دسترسی به برخی جدولهارا نمی دهد.یعنی برای برخی جدولها پایگاه داده پیغامی می دهد ، مبنی براینکه جدول مورد نظر فقط خواندنی است .
دوست عزیزم، یقینا این مشکل یا در نحوه استفاده از ADO بوده یا در تنظیمات و ساختار دیتابیس. ضمنا چنین پیغامی در SQL Server ظاهر نمیشه، شاید شما یک دیتابیس Access رو که مثلا Read-Only بوده قصد داشتین در حالت Read-Write باز کنین و با این پیغام رو به رو شدین؟
توصیه من اینه که مشکل رو در بخش مربوطه مطرح کنین تا راه حلش بدست بیاد (به جای اینکه به فکر جایگزین برای ADO باشیم!)


امین جان از تمنا میکنم ADO رو از دید کاملا حرفه ای و مهندسانه نقد و بررسی کن
اکثر برنامه نویسها از جمله خود من به برخی از امکانات ADO عادت کردیم و غیر از آن رو امتحان نکردیم لذا بی دلیل از آن استفاده میکنیم
افشین جان،
ADO نرم افزاری نیست که توسط یک شرکت عادی با چند نفر برنامه نویس بوجود اومده باشه. ADO یکی از اجزای پروژه بزرگ مایکروسافت به نام UDA یا Universal Data Access هست که به عنوان یک واسط عمومی برای دسترسی به همه بانکهای اطلاعاتی طراحی شده. یعنی مهم نیست شما از چه بانک اطلاعاتی استفاده میکنین: SQL Server، Oracle، Access یا حتی XML. چرا که Client اطلاعات رو به هر صورت از یک Recordset در ADO دریافت میکنه. مایکروسافت شرکتیه که تکنولوژی ارائه میده و استفاده از ADO به معنی اطمینان داشتن به آینده اونه. چون مایکروسافت پشت ADO رو هیچوقت خالی نمیکنه کما اینکه دیدیم برای ادامه راه این تکنولوژی، ADO.NET رو عرضه کرد.
یک مثال دیگه: زمانیکه مایکروسافت، تکنولوژی دات نت رو معرفی کرد، من و شما تصور نداشتیم که این امر روی کل صنعت نرم افزار سایه بندازه. اما نکته جالب اینجاست که مایکروسافت از همون ابتدا، انتهای راه رو دیده بود! از همون اول خیال داشت که دات نت رو یک محیط استاندارد برای اجرای برنامه ها قرار بده. نه اینکه VB برای خودش Run Time DLL داشته باشه و VC برای خودش و ...
در دات نت دیگه شما دغدغه اینکه اگر نرم افزار من در آینده به جای سیستم عامل 32 بیتی، روی 64 بیتی اجرا بشه چه خواهد شد رو ندارین. چون J.I.T همه کارها رو خودش انجام میده. حتی از اول میدونست که پای دات نت رو میخواد به 2005 SQL Server باز کنه.
یکی از بزرگترین اشکالاتی که به SQL Server در مقایسه با Oracle تا به امروز وارد میکردند اینه که در SQL Server شما فقط زبان TSQL رو در اختیار دارین مگر اینکه از قابلیتهای Extended Stored Procedure استفاده کنین، در حالیکه در Oracle غیر از PL/SQL، زبان قدرتمند Java رو در اختیار دارین.
ولی حالا شما میتونین با استفاده از VB.NET یا C# یک Stored Procedure بنویسین بدون اینکه ذره ای TSQL بلد باشین! یا با هر زبانی که دات نت از اون پشتیبانی میکنه، مثلا با COBOL یک Trigger بنویسین.
خلاصه کلام اینکه، استفاده از ADO یا هر کدوم از محصولات مایکروسافت به معنی استفاده از یک نرم افزار نیست، بلکه به معنی قرار گرفتن در مسیر یک تکنولوژی و بهره بردن از Integration هستش.
یکپارچگی یا Integration مدتهاست که در دستور کار مایکروسافت قرار گرفته و روزی خواهد رسید که همه محصولاتش، از Notepad گرفته تا VS با هم در ارتباط باشند! :)

M.GhanaatPisheh
چهارشنبه 18 آذر 1383, 01:48 صبح
ساده ترین روش ارتباط

بهترین راه معمولا استفاده از آخرین تکنولوژیها هست
دنبال بهترین راه باشید نه ساده ترین راه. :wink:


با تشکر از امین ثباتی :flower:

a-mohebbi
پنج شنبه 19 آذر 1383, 09:37 صبح
با سلام مجدد

عزیزان منظور من نفی استفاده از DAO نیست بلکه روشهای دیگر دسترسی مد نظرم بود (مثلا ابزاری از کنترلر های Active X در vb). یا روشهای دیگر ....


ضمنا آقای مدیر بخش مشکل من در خود sql server نیست بلکه زبان برنامه نویسی که بعنوان platform انتخاب شده مشکل ایجاد می کند.

باتشکر مجدد ازاینکه به مشکل من توجه می کنید

a-mohebbi
پنج شنبه 19 آذر 1383, 09:37 صبح
ببخشید آیا می توان از کد نویسی هم استفاده کرد؟؟؟؟

AminSobati
پنج شنبه 19 آذر 1383, 18:08 عصر
دوست عزیزم،
ابزارهای آماده ای هم برای اینکار وجود دارن ولی خود این ActiveXها بر پایه نرم افزاری مثل ADO کار میکنند. مثلا ADO Data Control که حتما معرف حضور هست..
من اطلاعی از زبان برنامه نویسی شما ندارم. اگر دلفی باشه، Borland ابزار خاصی ظاهرا براش تولید کرده و میتونین غیر از ADO از اون هم استفاده کنین.

آیا می توان از کد نویسی هم استفاده کرد؟
برنامه نویسی مطلق، یعنی بدون استفاده از هیچ واسطی(API)، خیر. اقلا یک API مثل ADO باید داشته باشین تا باهاش کد بنویسین.