فهرست مطالب
مقدمــه 1
تاريخچه و اهداف ODBC 1
معماري ODBC 3
استانداردهاي SQL 5
نصب PHP و ODBC بر روي ويندوز 6
API براي ODBC در PHP 7
اتصال به پايگاه داده 7
كار با فرا داده ( Meta Data ) 9
كار با تراكنش ها ( Mainpulating Transaction ) 10
بازيابي داده ها و Cursor ها 11
مشكلات معمول 13
پيش نيازهاي اتصالات ODBC 13
استفاده از Ms SQL Server 14
استفاده از Ms Access 15
انتراع پايگاه داده 15
آشنايي با مفاهيم ADO و ODBC 17
تعريف كردن نام منابع داده هاي ODBC 20
باز كردن مدير منابع داده هاي ODBC 20
نكات ديگري درباره ODBC 21
منابع مورد استفاده 25
مقــدمه :
ODBC يك API ارتباطي مستقل از سيستم عامل و پايگاه داده ها مي باشد كه به يك برنامه سرويس گيرنده امكان مي دهد تا از طريق فراخواني توابع مبتني بر استاندارد به پايگاه داده back – end و بدون تكيه بر پروتكل هاي ارتباطي اختصاصي مختص پايگاه داده ارتباط برقرار كند .
چرا اين مهم است ؟ چرا نبايد فقط با Oracle يا SQL Server يا Informix كار كرد و كار را با آنها به پايان برد ؟ چندين دليل وجود دارد . مشخص نبودن سكو و پايگاه داده در يك برنامه ، قابليت حمل و آزادي را فراهم مي كند . اهميت اين آزادي وقتي به سرعت مشخص مي شود كه محدوديت هاي فقط يك پايگاه داده و سكو را در مورد مقياس پذيري ، سرعت ، گواهي يا هر عامل متغير ديگري بين سيستم هاي توليد مختلف در نظر بگيريم . ODBC همچنين امكان ايجاد برنامه ها بر روي محيط هاي ايجاد و توسعه desktop را با حداكثر استفاده روي سكو فراهم مي كند .
همچنين هر پايگاه داده اي براي هر كاري خوب نيست . MySQL به شكل كنوني خود يك پايگاه داده فقط خواندني است كه براي سايت هاي وب ، محتويات را فراهم مي كند ، ولي ممكن است ترجــيح دهيد كه براي يك warehouse داده ها يا Virtuoso ازOracle به عنوان پايگاه داده استفاده كنيد .
تاريخچــه و اهداف ODBC :
حدود سال 1990 ، عرضه كنندگان پايگاه داده UNIX شامل Oracle ، Informix و IBM به عنوان بخشي از SQL Access Group ، يك CLI (Call – Level Interface) را ارائه كردند تا امكان استفاده از SQL را به روش قابل انتقال فراهم كند .
قبل از SAG CLI ، تنها راه استفاده از SQL به صورت Embedded SQL بود ، به اين معني كه دستورات SQL در زبان برنامه نويسي شما مي بايستي از يك پيش كامپايلر مختص زبان رد مي شد كه دستورات را به زبان API پايگاه داده مورد نظر مي شكست . Embedded SQL ، دست و پا گير بود و عرضه كنندگان پايگاه داده در SAG و گروه X/Open مربوطه جمع شدند تا يك واسط SQL قابل حمل را ايجاد كنند كه بتواند بين پايگاه داده هاي مختلف و بدون پيش كامپايلر خاص زبان مورد استفاده قرار گيرد .
SAG CLI مبتني بر يك زير مجموعه از مشخصات SQL بنام Static SQL مي باشد كه ANSI SQL86 نيز ناميده مي شود . اين مشخصه طوري گسترش يافت كه Dynamic SQL را نيز پوشش داد و عرضه كنندگان مختلفي مثل IBM و Informix به سرعت اين CLI را به عنوان استاندارد بدون چون و چرا ، براي SQL در پايگاه داده هاي خود اتخاذ كردند .
در سال 1992 ، مايكروسافت ، SQL CLI را در يك مجموعه از واسط ها به نام ODBC پياده سازي كرد و SAG CLI را طوري گسترش داد كه شامل توابعي براي پرس و جو و كنترل درايورها و دستيابي به كاتالوگ پايگاه داده شود . مايكروسافت با درك اين مطلب كه يك مجموعه از ابزارهاي گرافيكي و SDK ها اتخاذ را ممكن مي كنند ، قابليت استفاده از SAG CLI را بهبود بخشيد و شروع به حمايت شديد از ODBC در برابر شركاء و مشتريان خود كرد .
بعد از چند سال ، مايكروسافت OLE – DB را به عنوان جايگزين ODBC پياده سازي كرد . OLE – DB در ابتدا مي تواند به صورت يك لايه آبجكتي تلقي شود كه به ODBC اضافه شده است ، ولي مايكروسافت خيلي زود درايورهاي OLE – DB را پياده سازي كرد كه نياز به پشتيباني از ODBC نداشتند . اين مي تواند به عنوان يك حركت تجاري استراتژيك براي كنترل دستيابي به داده ها توسط مايكروسافت تلقي شود ، زيرا OLE – DB فقط به سكوي ويندوز محدود است ، ولي اين ناموفق بود . ODBC استاندارد بدون چون و چرا براي دستيابي به موتورهاي مبتني برSQL شده بود و براي رابطه هاي بين سكويي به كار مي رفت .
معمــاري ODBC :
معماري ODBCاز چند بخش تشكيل شده است . بياييد با شروع از سرويس گيرنده در يك اتصال ساده حركت كنيم . براي اين بحث ، سرويس گيرنده را به وسيله محل برنامه ( مثلا PHP ) شناسايي مي كنيم .
برنامه PHP مثل يك سرويس گيرنده براي سرور پايگاه داده عمل مي كند . با حركت از PHP در طول اين اتصال معمولا به يك Data Source Name ( DSN ) ، درايور ODBC ، مدير درايور ( DM ) ODBC ، يك لايه ارتباطي و خود سرور پايگاه داده ، برخورد مي كنيم :
مقدمــه 1
تاريخچه و اهداف ODBC 1
معماري ODBC 3
استانداردهاي SQL 5
نصب PHP و ODBC بر روي ويندوز 6
API براي ODBC در PHP 7
اتصال به پايگاه داده 7
كار با فرا داده ( Meta Data ) 9
كار با تراكنش ها ( Mainpulating Transaction ) 10
بازيابي داده ها و Cursor ها 11
مشكلات معمول 13
پيش نيازهاي اتصالات ODBC 13
استفاده از Ms SQL Server 14
استفاده از Ms Access 15
انتراع پايگاه داده 15
آشنايي با مفاهيم ADO و ODBC 17
تعريف كردن نام منابع داده هاي ODBC 20
باز كردن مدير منابع داده هاي ODBC 20
نكات ديگري درباره ODBC 21
منابع مورد استفاده 25
مقــدمه :
ODBC يك API ارتباطي مستقل از سيستم عامل و پايگاه داده ها مي باشد كه به يك برنامه سرويس گيرنده امكان مي دهد تا از طريق فراخواني توابع مبتني بر استاندارد به پايگاه داده back – end و بدون تكيه بر پروتكل هاي ارتباطي اختصاصي مختص پايگاه داده ارتباط برقرار كند .
چرا اين مهم است ؟ چرا نبايد فقط با Oracle يا SQL Server يا Informix كار كرد و كار را با آنها به پايان برد ؟ چندين دليل وجود دارد . مشخص نبودن سكو و پايگاه داده در يك برنامه ، قابليت حمل و آزادي را فراهم مي كند . اهميت اين آزادي وقتي به سرعت مشخص مي شود كه محدوديت هاي فقط يك پايگاه داده و سكو را در مورد مقياس پذيري ، سرعت ، گواهي يا هر عامل متغير ديگري بين سيستم هاي توليد مختلف در نظر بگيريم . ODBC همچنين امكان ايجاد برنامه ها بر روي محيط هاي ايجاد و توسعه desktop را با حداكثر استفاده روي سكو فراهم مي كند .
همچنين هر پايگاه داده اي براي هر كاري خوب نيست . MySQL به شكل كنوني خود يك پايگاه داده فقط خواندني است كه براي سايت هاي وب ، محتويات را فراهم مي كند ، ولي ممكن است ترجــيح دهيد كه براي يك warehouse داده ها يا Virtuoso ازOracle به عنوان پايگاه داده استفاده كنيد .
تاريخچــه و اهداف ODBC :
حدود سال 1990 ، عرضه كنندگان پايگاه داده UNIX شامل Oracle ، Informix و IBM به عنوان بخشي از SQL Access Group ، يك CLI (Call – Level Interface) را ارائه كردند تا امكان استفاده از SQL را به روش قابل انتقال فراهم كند .
قبل از SAG CLI ، تنها راه استفاده از SQL به صورت Embedded SQL بود ، به اين معني كه دستورات SQL در زبان برنامه نويسي شما مي بايستي از يك پيش كامپايلر مختص زبان رد مي شد كه دستورات را به زبان API پايگاه داده مورد نظر مي شكست . Embedded SQL ، دست و پا گير بود و عرضه كنندگان پايگاه داده در SAG و گروه X/Open مربوطه جمع شدند تا يك واسط SQL قابل حمل را ايجاد كنند كه بتواند بين پايگاه داده هاي مختلف و بدون پيش كامپايلر خاص زبان مورد استفاده قرار گيرد .
SAG CLI مبتني بر يك زير مجموعه از مشخصات SQL بنام Static SQL مي باشد كه ANSI SQL86 نيز ناميده مي شود . اين مشخصه طوري گسترش يافت كه Dynamic SQL را نيز پوشش داد و عرضه كنندگان مختلفي مثل IBM و Informix به سرعت اين CLI را به عنوان استاندارد بدون چون و چرا ، براي SQL در پايگاه داده هاي خود اتخاذ كردند .
در سال 1992 ، مايكروسافت ، SQL CLI را در يك مجموعه از واسط ها به نام ODBC پياده سازي كرد و SAG CLI را طوري گسترش داد كه شامل توابعي براي پرس و جو و كنترل درايورها و دستيابي به كاتالوگ پايگاه داده شود . مايكروسافت با درك اين مطلب كه يك مجموعه از ابزارهاي گرافيكي و SDK ها اتخاذ را ممكن مي كنند ، قابليت استفاده از SAG CLI را بهبود بخشيد و شروع به حمايت شديد از ODBC در برابر شركاء و مشتريان خود كرد .
بعد از چند سال ، مايكروسافت OLE – DB را به عنوان جايگزين ODBC پياده سازي كرد . OLE – DB در ابتدا مي تواند به صورت يك لايه آبجكتي تلقي شود كه به ODBC اضافه شده است ، ولي مايكروسافت خيلي زود درايورهاي OLE – DB را پياده سازي كرد كه نياز به پشتيباني از ODBC نداشتند . اين مي تواند به عنوان يك حركت تجاري استراتژيك براي كنترل دستيابي به داده ها توسط مايكروسافت تلقي شود ، زيرا OLE – DB فقط به سكوي ويندوز محدود است ، ولي اين ناموفق بود . ODBC استاندارد بدون چون و چرا براي دستيابي به موتورهاي مبتني برSQL شده بود و براي رابطه هاي بين سكويي به كار مي رفت .
معمــاري ODBC :
معماري ODBCاز چند بخش تشكيل شده است . بياييد با شروع از سرويس گيرنده در يك اتصال ساده حركت كنيم . براي اين بحث ، سرويس گيرنده را به وسيله محل برنامه ( مثلا PHP ) شناسايي مي كنيم .
برنامه PHP مثل يك سرويس گيرنده براي سرور پايگاه داده عمل مي كند . با حركت از PHP در طول اين اتصال معمولا به يك Data Source Name ( DSN ) ، درايور ODBC ، مدير درايور ( DM ) ODBC ، يك لايه ارتباطي و خود سرور پايگاه داده ، برخورد مي كنيم :