دسته بندی | برنامه نویسی |
بازدید ها | 27 |
فرمت فایل | doc |
حجم فایل | 49 کیلو بایت |
تعداد صفحات فایل | 25 |
تحقیق در مورد ODBC
مقــدمه :
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
دسته بندی | برق |
بازدید ها | 22 |
فرمت فایل | doc |
حجم فایل | 23 کیلو بایت |
تعداد صفحات فایل | 27 |
آشنایی با زبان s7
آشنایی با زبان S7
مدلهای مختلف PCL های سری S7 دارای شباهتها و تفاوتهائی هستند، مثلا تعداد یکتائی های BIT ورودی یا خروجی، تعداد یکتائی های مخصوص حافظه (special memory bits) یعنی همان یکتایی های پرچم، شماره و نوع وقایع قطع (interrupt events) و ... از یک مدل به مدل دیگر تفاوت هائی دارد. همچنین بعضی دستورها ممکناست برای مدلی معتبر و برای مدلی دیگر نامعتبر باشد. با این وجود کار کردن با یک مدل خاص توانائی های لازم برای کار کردن با مدل های دیگر را فراهم میآورد. در اینجا PLC های مدل S702xx ساخت زیمنس بعنوان نمونه مورد بررسی قرار میگیرد. این PLC ساده ترین مدل از این سری میباشد و آشنائی با آن زمینه خوبی را برای کار کردن با انواع پیشرفته تر ایجاد میکند.
اجزاء یک دستور
برنامه نویسی به زبان S7 بسیار شبیه به برنامه نویسی برای هر سیستم ریزپردازنده دیگری است .
در این شکل دستور A11.3 شامل عمل (operation) و منطقی (AND) است که با حورف A نشان داده میشود. این عمل بر روی عملوند (Operand) یعنی 11.3 انجام میگردد. جنس عملوند ورودی (input) است که با حرف I نشان داده میشود. نشانی این ورودی 1.3 میباشد.
منظور از نشانی 1.3 بیت 3( یکتایی 3) از بایت 1(هشتائی 1) از مجموعه ورودی ها به PLC میباشد. پاره ای از حروف اختصاری برای نشان دادن عملوند ها در زبان S7 در جدول آمده است.
با اضافه نمدن حروف B,W یا D به سمت راست هر یک از علامات اختصاری در جدول میتوان اندازه آنها را به هشتائی ، دو هشتایی word یا چهار هشتائی (double word) افزایش داد. مثلا IB یعنی هشتایی ورودی و IB0 یعنی هشتایی ورودی 0. به همین ترتیب AIW یعنی دو هشتایی آنالوگ ورودی و VD یعنی چهار هشایی حافظه متغیر.
فهرست مطالب
آشنایی با زبان S7 1
اجزاء یک دستور 1
نشانه گذاری (آدرس گذاری) عملوندها: 3
روشهای نشانی دهی (آدرسدهی): 4
مکان حافظه مخصوص (Special memory areas): 5
بیان اتصال (contacts) در S7: 6
دستورهای منطقی پشتهای: 7
اتصال لحظهای (Immediate Contacts): 8
دستور منفی (NOT): 9
دستور تغییر مثبت، منفی (Transition-negative-Transition) 9
دستور تنظیم و خواندن وقت حقیقی (read, set real-time clock) 10
دستورهای خواندن و نوشتن در شبکه (Network reed, Write) 10
گرد کردن Truncate 11
دستور دکود decode 11
دستورانکود ENCODE 12
دستور های شمارش 12
شمارش به بالا (UP counter) 13
شمارش به پائین (DOWN-COUTER) 14
دسته بندی | برنامه نویسی |
بازدید ها | 26 |
فرمت فایل | doc |
حجم فایل | 71 کیلو بایت |
تعداد صفحات فایل | 41 |
آشنایی با زبان اسمبلی
قسمت های تشکیل دهنده واحد پردازش مرکزی:
1) خطوط ورودی خروجی داده ( گذرگاه مشترک) Data Bus.
2) خطوط آدرس(گذرگاه آدرس) Adress Bus.
3) واحد محاسبه و منطق Alu.
4) واحد حافظه Memory Unit.
1) کار خطوط مشترک داده انتقال داده از بخشی به بخش دیگر است بنابراین در یک زمان واحد تمام واحدها به خطوط مشترک داده متصل هستند ولی تمام بخش ها از اطلاعات روی آن استفاده نمی کنند.
1) این خطوط مشخص می کنند که اطلاعات دقیقا از چه دستگاهی وارد یا خارج شوند این خطوط نیز به تمام واحدها متصل هستند.
2) وظیفه این واحد انجام محاسبات و عملیات منطقی پایه است این اعمال منطقی and,or,xor,not هستند و اعمال محاسبات پایه شامل تمام جمع کننده (Full Adder) و معکوس کننده (Inverter) هستند که به طور سخت افزاری در Cpu قرار دارند.
3) برای اینکه Cpu بتواند کاری انجام دهد باید اطلاعات خود را در جایی ذخیره کند این کار را واحد حافظه در Cpu انجام می هد و داده های مورد نیاز Cpu را به طور موقت در خود ذخیره می کند و واحد آن ثبات یا Register است .
نکته:
تعداد آدرس = دو به توان تعداد خطوط آدرس
خانواده های Cpu هایی که در PC مورد استفاده قرار می گیرند عبارتند از:
خانواده های X86
8086: PC XT,JR A:20bit D:16bit
8088: PC XT,JR A:20bit D:8bit
80286: PC AT A:24bit D:16bit
80386: PC AT A:24bit D:16bit
80486: PC AT A:24bit D:32bit
80586: PC AT A:24bit D:64bit
در 80286 از تکنولوژی ISA استفاده می کنند در 80386 از تکنولوژی EISA استفاده می کنند در 80486 از تکنولوژی EISA,VESA استفاده می کنند در 80586 از تکنولوژی PCI استفاده می کنند .
تکنولوژی جدیدی که در X586 استفاده می شود تکنولوژی AGP نامیده می شود.
ثبات یا Register:
محلی است که در CPU قرار دارد و اطلاعات را به طور موقت در خود ذخیره می کند ثبات از سلول های حافظه به نام فلیپ فلاپ (flipflap) تشکیل شده است یک فلیپ فلاپ می تواند دارای مقدادیر صفر یا یک باشد یعنی کار یک بیت را انجام میدهد.
خواص ثبات:
1) قابلیت Load داشته باشد. یعنی بتوانیم به ثبات مقدار اولیه بدهیم.
2) قابلیت Regist داشته باشد. یعنی بتوانیم داده ها را در آن ذخیره کنیم.
3) قبلیت Change داشته باشد. یعنی بتوانیم مقدار آن را تغییر بدهیم این تغییرات عبارتند از:
الف) بتواند setشود. یعنی تمام بیت هایش به یک تبدیل شود.
ب) بتواند clear شود . یعنی تمام بیت هایش به صفر تبدیل شود.
ج) بتواند complement شود. یعنی بتواند یک واحد از آن کم شود.
د) بتواند incerement شود. یعنی بتواند یک واحد به آن اضافه شود.
ه) بتواند shift شود. یعنی قابلیت انتقال داشته باشد.
انواع ثبات:
1) ثبات های عمومی (general- pwpose register).
2) ثبات های خاص (special-pwpose register).
ثبات های عمومی ثبات هایی هستند که برای آن ها کار خاصی در نظر نمی گیریم و در همه ی کار های cpu قرار می گیرند. این ثبات ها قابلیت و توانایی تمام ثبات های دیگر را نیز دارد و می توان به جای هم مورد استفاده قرار گیرند.
ثبات های خاص ثبات هایی هستند که یک کاربر با وظیفه ی خاص دارند یعنی بسته به نوع کاری که انجام می دهیم ممکن است اجازه استفاده از آن ثبات را داشته باشیم یا خیر . ثبات های این خانواده دارای وضعیت بحرانی (critical) می باشند.
انواع ثبات های عمومی:
8bit: AL,AH,BL,BH,CL,CH,DL,DH
16bit: AX,BX,CX,DX
32bit: EAX,EBX,ECX,DX
eax یا accumulator یا ثبات انباره:
این ثباتی همه کاره است یعنی تمام دستور العمل هایی که درزبان اسمبلی داریم روی این ثبات می تواند انجام شود eax تنها ثباتی است که با فضای بیرون از cpu ارتباط مستقیم دارد و به طور مستقیم به خطوط داده متصل است پس eax می تواند به طور مستقیم اطلاعات را بگیرد یا به طور مستقیم اطلاعات را بفرستد. مبدا و مقصد بسیاری از دستورات اسمبلی این ثبات است.
ثبات ebx یا base register یا ثبات پایه:
این ثبات امکان انجام برخی از محاسبات را دارد و در نقل و انتقال اطلاعات شرکت می کند مهمترین وظیفه ی آن این است که نقش مرکز پایه را برای دسترسی به بخش یا بخش هایی خاص از سیستم فراهم کند.
ثبات ecx یا conter register یا ثبات شمارنده:
یک ثبات عمومی است که می تواند در عمل نقل و انتقال اطلاعات و یا برخی اعمال محاسباتی شرکت کند و از آنجایی که توانایی انجام اعمال شمارشی را دارد به آن ثبات شمارنده می گویند هر جا در اسمبلی به شمارنده نیاز داشته باشیم از این ثبات استفاده می کنیم.
ثبات edx یا ثبات data regisret یا ثبات داده:
این ثبات یک ثبات عمومی است که می تواند در عمل نقل و انتقال اطلاعات و یا برخی از اعمال محاسباتی شرکت کند وظیفه اصلی این ثبات دریافت و ارسال اطلاعات است این ثبات همچنین می تواند با عنوان ثبات کمکی در کنار دیگر ثباتها قرار گیرد.