Đề tài: Xây dựng trang Web bán hàng điện tử bằng Opencart, HOTDịch vụ viết bài trọn gói ZALO: 0909232620 Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Xây dựng trang Web bán hàng điện tử bằng Opencart, cho các bạn làm luận văn tham khảo
Đề tài: Xây dựng ứng dụng Android truy xuất cơ sở dữ liệu, HAYDịch vụ viết bài trọn gói ZALO 0917193864Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Xây dựng ứng dụng Android truy xuất cơ sở dữ liệu, cho các bạn làm luận văn tham khảo
Đề tài: Quản lý cửa hàng vật liệu xây dựng, HAY, 9đDịch vụ viết bài trọn gói ZALO 0917193864Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận án tiến sĩ ngành công nghệ thông tin với đề tài: Quản lý cửa hàng vật liệu xây dựng, cho các bạn có thể làm luận văn tham khảo
Bài tập lớn Phát triển phần mềm hướng dịch vụ PTITPopping Khiem - Funky Dance Crew PTITBài tập lớn Phát triển phần mềm hướng dịch vụ PTIT #ptit
webservcies
Luận văn tìm hiểu SpringAn NguyenThese thesis will focus on understanding and briefing introduction about Spring framework, superior properties, outstanding features in creative application that requires modularizing and capacity of reusing high. Beside that, further description of some technologies such as JMS, MongoDB, AngularJS and Bootstrap which are currently software companies use to create a web application enterprise with Spring framework
Luận Văn Tìm Hiểu Lập Trình Python Và Ứng Dụng Phát Triển Ứng Dụng Web Với Dj...sividoczLuận Văn Tìm Hiểu Lập Trình Python Và Ứng Dụng Phát Triển Ứng Dụng Web Với Django. các bạn có thể tham khảo thêm nhiều tài liệu và luận văn ,bài mẫu điểm cao tại luanvanmaster.com
Đề tài: Xây dựng phần mềm quản lí bán thuốc, HAY, 9đDịch Vụ Viết Bài Trọn Gói ZALO 0917193864Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://vietbaitotnghiep.com/dich-vu-viet-thue-luan-van
Download luận văn báo cáo bài tập ngành công nghệ thông tin với đề tài: Xây dựng phần mềm quản lí bán thuốc, cho các bạn có thể tham khảo
Tìm hiểu và triển khai các dịch vụ trên Windows Server 2008Long KingnamBáo cáo thực tập "Tìm hiểu và triển khai các dịch vụ trên Windows Server 2008"
File đồ án (cập nhật 8/2019)
https://drive.google.com/file/d/1HxpiuYl3kM80Ds23GjbIxivPELde80TK/view?usp=sharing
How to Create Oracle Fusion BI Publisher Report Using RTF TemplateFeras AhmadThis document provides steps to create an Oracle Fusion BI Publisher report using a Rich Text Format (RTF) template. It explains that RTF templates can be created using the BI Publisher Template Builder Microsoft Word add-in. The steps include: 1) opening an existing BI report and exporting the XML data file, 2) creating an RTF template in Word using the XML file, and 3) uploading the RTF template to replace an existing report layout. The template allows adding data fields, tables, and other formatting features to design the report layout.
Bài 5: Chuẩn hóa cơ sở dữ liệuMasterCode.vn Các bất thường khi cập nhật dữ liệu
Giải thích sự cần thiết phải chuẩn hóa dữ liệu
Tìm hiểu một số khái niệm:
Khóa của quan hệ
Phụ thuộc hàm
Tìm hiểu quy trình chuẩn hóa CSDL
Tìm hiểu 3 dạng chuẩn: 1NF, 2NF, 3NF
Trình tự chuẩn hóa theo 3 dạng chuẩn
Tìm hiểu khái niệm khử chuẩn
Luận văn: Xác định các ca kiểm thử và dữ liệu kiểm thử, HAYDịch vụ viết bài trọn gói ZALO: 0909232620 Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://baocaothuctap.net
Download luận văn thạc sĩ ngành hệ thống thông tin với đề tài: Kỹ thuật xác định các ca kiểm thử và dữ liệu kiểm thử nhờ ma trận kiểm thử, cho các bạn làm luận văn tham khảo
Đề tài: Nghiên cứu và triển khai hệ thống Windown Server 2012Dịch vụ viết bài trọn gói ZALO 0917193864Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn đồ án tốt nghiệp với đề tài: Nghiên cứu và triển khai hệ thống Windown Server 2012, cho các bạn làm luận văn tham khảo
Đề tài: Xây dựng phần mềm quản lý nhà hàng ăn uốngDịch Vụ Viết Thuê Khóa Luận Zalo/Telegram 0917193864Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Xây dựng phần mềm quản lý nhà hàng ăn uống, cho các bạn tham khảo
Bài 3 : Các ràng buộc toàn vẹn dữ liệu - SQL serverMasterCode.vn Các quy định của công việc trong thực tế
• Trong thực tế mỗi công việc đều có những quy định phải tuân theo
− Mỗi quy định trở thành một hay nhiều ràng buộc trong CSDL
− Một số quy định đơn giản, mặc nhiên thấy cũng phải mô tả trong CSDL
• Ví dụ quản lý đơn đặt hàng
− Số lượng đặt hàng phải lớn hơn 0
− Các số hoá đơn giao hàng không được trùng nhau
− Ngày dự kiến nhận hàng phải sau ngày đặt hàng
− Một đơn đặt hàng phải do một khách hành lập ra
− Mỗi một mặt hàng phải có nhà cung cấp (mỗi mặt hàng phải có xuất xứ)
− Số lượng mặt hàng giao cho khách phải nhỏ hơn hay tối đa bằng với số lượng đặt
− Hai nhà cung cấp có thể trùng tên nhưng là hai nhà cung cấp khác nhau
Tim hieu ma nguon mo phone gap va xay dung ung dung ngo quang trungNgo Trung Điện thoại thông minh hay còn gọi là smartphone thực sự đã mang đến một cuộc cách mạng cho các thiết bị di động, trong thời kì mà công nghệ số phát triển với tốc độ chóng mặt như hiện nay. Nhu cầu sử dụng thiết bị di động đã trở nên rất phổ biến không chỉ ở Việt Nam mà trên toàn thế giới. Sự tiến bộ vượt bậc của công nghệ đã làm thay đổi hoàn toàn thói quen cũng như hành vi của con người.Trong tương lai, thiết bị di động sẽ trở thành phương tiện giao tiếp và làm việc chủ yếu của con người. Và phần cốt lõi để tạo ra sức hấp dẫn từ những chiếc smartphone chính là hệ điều hành và các ứng dụng mà chúng đang chạy.
Phonegap cho người mới họcNgo Trung1 điểm cá nhân mình rất thích ở Phonegap, đó chính là tính đơn giản và hầu như không có tính ràng buộc. Phonegap được gọi là framework tuy nhiên nó không giống như 1 vài framework PHP mà mình đã từng học, với những framework PHP này, nó định nghĩa lại hoàn toàn cách bạn viết mã code, và nó đòi hỏi bạn phải hiểu rõ sâu rộng về các thành phần hệ thống bên trong, thì bạn mới có thể lập trình thông thạo được. Với Phonegap, nó không kìm kẹp bạn vào trong 1 hệ thống có 1 quy chuẩn riêng rối rắm nào cả, bạn có thể tự do thoải mái lập trình theo cách mà bạn muốn (tuy nhiên cái gì cũng có 2 mặt của nó), bạn chỉ cần nắm bắt 1 công nghệ duy nhất - công nghệ nền Web(bao gồm HTML5, Javascript, CSS), bỏ qua gánh nặng cần phải nắm bắt và hiểu rõ về các công nghệ bên trong mỗi nền tảng (Android, iOS, Blackberry, Windowphone, …) mà bạn vẫn có thể tạo ra được các ứng dụng “viết một lần, biên dịch qua cloud và chạy khắp nơi – tương thích với hầu hết các nền tảng hệ điều hành di động hiện tại”.
Tài liệu được viết giống như 1 bản ghi chép, ghi lại những thứ mà mình đã đọc được từ các ebook tiếng anh, do vậy bố cục sắp xếp của nó có thể chưa chính xác, cách trình bày không theo chuẩn 1 ebook nào cả và nhiều chỗ viết chưa rõ nghĩa và không mạch lạc do hạn chế về ngoại ngữ của bản thân mình. Tài liệu mang đậm tính chất cá nhân do vậy bạn sẽ bắt gặp trong tài liệu này nhiều đoạn kí tự in đậm, in màu, cỡ chữ lớn bất thường và được tô màu khác nhau - đó là các đoạn có liên quan đến nhau hay là những ghi chú quan trọng mà bạn cần phải đọc kĩ.
Nội dung trong tài liệu này được dựa trên các cuốn ebook: “Beginning Phonegap - Thomas Myer”, “PhoneGap Essentials - John M. Wargo”, “Apache Cordova Documentation 2.2.0 – Phonegap team”, và 1 số giải thích, định nghĩa về kiến trúc của HTML5 từ W3C.org. Tài liệu này không đề cập tới đầy đủ các hàm APIs được Phonegap hỗ trợ. Cụ thể, các phần sau bị lược bỏ: Capture, Compass, Contacts, Globalization, Guides (do mình không có thời gian để viết nốt, và mình cũng không sử dụng đến các phần bị lược bỏ này)
Nếu có thắc mắc hay góp ý gì, các bạn có thể đăng ký ngay 1 nick vào diễn đàn www.phonegap.vn/forum để đặt câu hỏi trực tiếp, các MOD và ADMIN sẽ trả lời câu hỏi của bạn trong thời gian sớm nhất.
Đề tài: Quản lý cửa hàng vật liệu xây dựng, HAY, 9đDịch vụ viết bài trọn gói ZALO 0917193864Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận án tiến sĩ ngành công nghệ thông tin với đề tài: Quản lý cửa hàng vật liệu xây dựng, cho các bạn có thể làm luận văn tham khảo
Bài tập lớn Phát triển phần mềm hướng dịch vụ PTITPopping Khiem - Funky Dance Crew PTITBài tập lớn Phát triển phần mềm hướng dịch vụ PTIT #ptit
webservcies
Luận văn tìm hiểu SpringAn NguyenThese thesis will focus on understanding and briefing introduction about Spring framework, superior properties, outstanding features in creative application that requires modularizing and capacity of reusing high. Beside that, further description of some technologies such as JMS, MongoDB, AngularJS and Bootstrap which are currently software companies use to create a web application enterprise with Spring framework
Luận Văn Tìm Hiểu Lập Trình Python Và Ứng Dụng Phát Triển Ứng Dụng Web Với Dj...sividoczLuận Văn Tìm Hiểu Lập Trình Python Và Ứng Dụng Phát Triển Ứng Dụng Web Với Django. các bạn có thể tham khảo thêm nhiều tài liệu và luận văn ,bài mẫu điểm cao tại luanvanmaster.com
Đề tài: Xây dựng phần mềm quản lí bán thuốc, HAY, 9đDịch Vụ Viết Bài Trọn Gói ZALO 0917193864Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://vietbaitotnghiep.com/dich-vu-viet-thue-luan-van
Download luận văn báo cáo bài tập ngành công nghệ thông tin với đề tài: Xây dựng phần mềm quản lí bán thuốc, cho các bạn có thể tham khảo
Tìm hiểu và triển khai các dịch vụ trên Windows Server 2008Long KingnamBáo cáo thực tập "Tìm hiểu và triển khai các dịch vụ trên Windows Server 2008"
File đồ án (cập nhật 8/2019)
https://drive.google.com/file/d/1HxpiuYl3kM80Ds23GjbIxivPELde80TK/view?usp=sharing
How to Create Oracle Fusion BI Publisher Report Using RTF TemplateFeras AhmadThis document provides steps to create an Oracle Fusion BI Publisher report using a Rich Text Format (RTF) template. It explains that RTF templates can be created using the BI Publisher Template Builder Microsoft Word add-in. The steps include: 1) opening an existing BI report and exporting the XML data file, 2) creating an RTF template in Word using the XML file, and 3) uploading the RTF template to replace an existing report layout. The template allows adding data fields, tables, and other formatting features to design the report layout.
Bài 5: Chuẩn hóa cơ sở dữ liệuMasterCode.vn Các bất thường khi cập nhật dữ liệu
Giải thích sự cần thiết phải chuẩn hóa dữ liệu
Tìm hiểu một số khái niệm:
Khóa của quan hệ
Phụ thuộc hàm
Tìm hiểu quy trình chuẩn hóa CSDL
Tìm hiểu 3 dạng chuẩn: 1NF, 2NF, 3NF
Trình tự chuẩn hóa theo 3 dạng chuẩn
Tìm hiểu khái niệm khử chuẩn
Luận văn: Xác định các ca kiểm thử và dữ liệu kiểm thử, HAYDịch vụ viết bài trọn gói ZALO: 0909232620 Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://baocaothuctap.net
Download luận văn thạc sĩ ngành hệ thống thông tin với đề tài: Kỹ thuật xác định các ca kiểm thử và dữ liệu kiểm thử nhờ ma trận kiểm thử, cho các bạn làm luận văn tham khảo
Đề tài: Nghiên cứu và triển khai hệ thống Windown Server 2012Dịch vụ viết bài trọn gói ZALO 0917193864Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn đồ án tốt nghiệp với đề tài: Nghiên cứu và triển khai hệ thống Windown Server 2012, cho các bạn làm luận văn tham khảo
Đề tài: Xây dựng phần mềm quản lý nhà hàng ăn uốngDịch Vụ Viết Thuê Khóa Luận Zalo/Telegram 0917193864Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Xây dựng phần mềm quản lý nhà hàng ăn uống, cho các bạn tham khảo
Bài 3 : Các ràng buộc toàn vẹn dữ liệu - SQL serverMasterCode.vn Các quy định của công việc trong thực tế
• Trong thực tế mỗi công việc đều có những quy định phải tuân theo
− Mỗi quy định trở thành một hay nhiều ràng buộc trong CSDL
− Một số quy định đơn giản, mặc nhiên thấy cũng phải mô tả trong CSDL
• Ví dụ quản lý đơn đặt hàng
− Số lượng đặt hàng phải lớn hơn 0
− Các số hoá đơn giao hàng không được trùng nhau
− Ngày dự kiến nhận hàng phải sau ngày đặt hàng
− Một đơn đặt hàng phải do một khách hành lập ra
− Mỗi một mặt hàng phải có nhà cung cấp (mỗi mặt hàng phải có xuất xứ)
− Số lượng mặt hàng giao cho khách phải nhỏ hơn hay tối đa bằng với số lượng đặt
− Hai nhà cung cấp có thể trùng tên nhưng là hai nhà cung cấp khác nhau
Tim hieu ma nguon mo phone gap va xay dung ung dung ngo quang trungNgo Trung Điện thoại thông minh hay còn gọi là smartphone thực sự đã mang đến một cuộc cách mạng cho các thiết bị di động, trong thời kì mà công nghệ số phát triển với tốc độ chóng mặt như hiện nay. Nhu cầu sử dụng thiết bị di động đã trở nên rất phổ biến không chỉ ở Việt Nam mà trên toàn thế giới. Sự tiến bộ vượt bậc của công nghệ đã làm thay đổi hoàn toàn thói quen cũng như hành vi của con người.Trong tương lai, thiết bị di động sẽ trở thành phương tiện giao tiếp và làm việc chủ yếu của con người. Và phần cốt lõi để tạo ra sức hấp dẫn từ những chiếc smartphone chính là hệ điều hành và các ứng dụng mà chúng đang chạy.
Phonegap cho người mới họcNgo Trung1 điểm cá nhân mình rất thích ở Phonegap, đó chính là tính đơn giản và hầu như không có tính ràng buộc. Phonegap được gọi là framework tuy nhiên nó không giống như 1 vài framework PHP mà mình đã từng học, với những framework PHP này, nó định nghĩa lại hoàn toàn cách bạn viết mã code, và nó đòi hỏi bạn phải hiểu rõ sâu rộng về các thành phần hệ thống bên trong, thì bạn mới có thể lập trình thông thạo được. Với Phonegap, nó không kìm kẹp bạn vào trong 1 hệ thống có 1 quy chuẩn riêng rối rắm nào cả, bạn có thể tự do thoải mái lập trình theo cách mà bạn muốn (tuy nhiên cái gì cũng có 2 mặt của nó), bạn chỉ cần nắm bắt 1 công nghệ duy nhất - công nghệ nền Web(bao gồm HTML5, Javascript, CSS), bỏ qua gánh nặng cần phải nắm bắt và hiểu rõ về các công nghệ bên trong mỗi nền tảng (Android, iOS, Blackberry, Windowphone, …) mà bạn vẫn có thể tạo ra được các ứng dụng “viết một lần, biên dịch qua cloud và chạy khắp nơi – tương thích với hầu hết các nền tảng hệ điều hành di động hiện tại”.
Tài liệu được viết giống như 1 bản ghi chép, ghi lại những thứ mà mình đã đọc được từ các ebook tiếng anh, do vậy bố cục sắp xếp của nó có thể chưa chính xác, cách trình bày không theo chuẩn 1 ebook nào cả và nhiều chỗ viết chưa rõ nghĩa và không mạch lạc do hạn chế về ngoại ngữ của bản thân mình. Tài liệu mang đậm tính chất cá nhân do vậy bạn sẽ bắt gặp trong tài liệu này nhiều đoạn kí tự in đậm, in màu, cỡ chữ lớn bất thường và được tô màu khác nhau - đó là các đoạn có liên quan đến nhau hay là những ghi chú quan trọng mà bạn cần phải đọc kĩ.
Nội dung trong tài liệu này được dựa trên các cuốn ebook: “Beginning Phonegap - Thomas Myer”, “PhoneGap Essentials - John M. Wargo”, “Apache Cordova Documentation 2.2.0 – Phonegap team”, và 1 số giải thích, định nghĩa về kiến trúc của HTML5 từ W3C.org. Tài liệu này không đề cập tới đầy đủ các hàm APIs được Phonegap hỗ trợ. Cụ thể, các phần sau bị lược bỏ: Capture, Compass, Contacts, Globalization, Guides (do mình không có thời gian để viết nốt, và mình cũng không sử dụng đến các phần bị lược bỏ này)
Nếu có thắc mắc hay góp ý gì, các bạn có thể đăng ký ngay 1 nick vào diễn đàn www.phonegap.vn/forum để đặt câu hỏi trực tiếp, các MOD và ADMIN sẽ trả lời câu hỏi của bạn trong thời gian sớm nhất.
Lập trình hướng đối tượng trong Javascript và các kiểu mẫu thiết kếNgo TrungNội dung trong tài liệu này được dựa trên các cuốn ebook: “JavaScript Patterns - Stoyan Stefanov”, “Object-Oriented JavaScript - Stoyan Stefanov”, “JavaScript: The Good Parts - Douglas Crockford”, và 1 số bài viết của các tác giả mà mình không còn nhớ rõ nữa.
Trước khi đọc tài liệu này, bạn phải xác định mình nắm rõ những gì thuộc về cơ bản nhất của Javascript như các cách khai báo, các kiểu dữ liệu cơ bản, các phép toán số học, các mệnh đề điều kiện, …(nếu bạn có kiến thức về 1 ngôn ngữ lập trình cơ bản nào đó, thì bạn sẽ làm quen với những gì tài liệu này bỏ qua trong Javascript 1 cách rất nhanh chóng). Tài liệu này chỉ tập trung vào những gì được coi là đặc biệt nhất của Javascript so với các ngôn ngữ lập trình thông dụng khác, không phải dành cho những người mới bắt đầu học Javascript. 1 điểm nữa bạn cần lưu ý là trong tài liệu này lược bỏ phần tương tác giữa Javascript với DOM & Browser bởi vì bản thân mình dùng Jquery để thay thế.
Nếu bạn sử dụng Javascript kết hợp với Phonegap để tạo ra các ứng dụng cho các nền tảng mobile, thì các tài liệu sau có thể bạn sẽ quan tâm tới :
• “Phonegap cho người mới học”: http://www.slideshare.net/myloveforyounqt/phonegap-cho-nguoi-moi-hoc
• “Cách tối ưu hóa môi trường lập trình ứng dụng cho Android”: http://www.slideshare.net/myloveforyounqt/cch-ti-u-ha-mi-trng-lp-trnh-ng-dng-cho-android-tng-tc-my-o-android
• Hoặc đơn giản truy cập vào thư mục chia sẻ sau: http://sdrv.ms/VoAXBi
Using Clojure, NoSQL Databases and Functional-Style JavaScript to Write Gext-...Stefan RichterThe document is a presentation about building next-generation HTML5 apps using Clojure, NoSQL databases, and functional JavaScript. It discusses how the presenter built an HTML5 client for their software company's app using these technologies that runs on all modern browsers and mobile platforms like iPhone and Android, avoiding the need to build separate native apps. The presentation focuses on their use of functional programming principles in JavaScript to structure the client code.
IoC and Mapper in C#Huy Hoàng PhạmThis document discusses SOLID principles, dependency inversion, dependency injection, and AutoMapper. It covers the benefits of loose coupling code using dependency injection such as improved testability and separation of concerns, as well as potential downsides like increased complexity. It provides examples of dependency injection frameworks like Unity and Ninject and demonstrates how AutoMapper can simplify mapping between objects.
1. MỤC LỤC
1.CÁC BƯỚC CƠ BẢN ĐỂ PHÁT TRIỂN ỨNG DỤNG NỀN WEB PHP TRÊN ORACLE
DATABASE ........................................................................................................................... 2
1.1.Các bước cài đặt để sử dụng PHP với ORACLE DATABASE ..................................... 2
1.1.1.Tìm hiểu về OCI8 Extension ................................................................................. 2
1.1.2.Cài đặt PHP với OCI8 trên Windows ..................................................................... 3
1.1.3.Cài đặt thông qua gói phần mềm WampServer trên Windows............................... 4
1.2.Cách kết nối PHP và thực hiện truy vấn SQL từ PHP trên Oracle database ................ 6
1.2.1.Cách kết nối PHP với Oracle database sử dụng OCI8 .......................................... 6
1.2.2.Cách thực hiện truy vấn SQL từ PHP trên Oracle database: ................................. 8
2.CÁC YÊU CẦU VỀ BẢO MẬT, AN TOÀN DỮ LIỆU ......................................................... 10
2.1.Bảo mật và an toàn ngay trên Oracle database: ........................................................ 10
2.2.Kiểm soát chặt chẽ dữ liệu nhập vào ......................................................................... 10
3.CHƯƠNG TRÌNH ỨNG DỤNG THỰC TẾ ....................................................................... 11
TÀI LIỆU THAM KHẢO ....................................................................................................... 15
1
2. 1.CÁC BƯỚC CƠ BẢN ĐỂ PHÁT TRIỂN ỨNG DỤNG NỀN
WEB PHP TRÊN ORACLE DATABASE
1.1.Các bước cài đặt để sử dụng PHP với ORACLE DATABASE
1.1.1.Tìm hiểu về OCI8 Extension
OCI8 Extension là 1 lớp thư viện mở rộng được chính Oracle phát triển, giúp PHP kết
nôi,giao tiếp và thực thi các truy vấn SQL dễ dàng với ORACLE DATABASE, nó được thêm
vào trong nhiều gói PHP khác nhau, bao gồm 3 gói chính:
Dành cho gói PHP được phát hành chính thức tại website:PHP.NET
Dành cho nhân của ZEND FRAMEWORK
Dành cho cộng đồng phát triển thư viện mã nguồn mở PHP (PECL)
Sơ đồ liên kết giữa PHP với thư viện Oracle client
Tất cả các tính năng trong OCI8 có thể không được thể hiện hết trừ khi các thư viện client
và máy chủ cơ sở dữ liệu Oracle được nâng cấp lên phiên bản mới nhất
Bảng sau sẽ chỉ rõ sự tương thích của các thư viện Oracle client với các phiên bản PHP với
OCI8 Extension
2
3. Gói phần mềm Phiên bản PHP Phiên bản OCI8 Các thư viện Orale
client tương thích
với OCI8
Mã nguồn PHP phát 5.2.7 OCI8 1.2.5 8i, 9i, 10g, 11g
hành chính thức
Gói PHP phát hành 5.2.7 OCI8 1.2.5 10g, 11g
chính thức được
đóng gói cho
Windows
Mã nguồn PECL 4.3.9 OCI8 1.3.4 9iR2, 10g, 11g
OCI8
Zend Core 2.5 5.2.5 OCI8 1.2.3 10g
1.1.2.Cài đặt PHP với OCI8 trên Windows
Để cài đặt OCI8 trên Windows, thì ta cần phải cài đặt Oracle phiên bản 10g hay 11g
i. Cài đặt OCI8 sử dụng 1 cơ sở dữ liệu địa phương trên Windows(hay Oracle databse
được cài đặt trên cùng 1 máy chứa Web Server và PHP)
1. Tải gói cài đặt PHP 5.2.7 từ Website: http://www.php.net/downloads.php
2. Nhấn chuột 2 lần vào file php-5.2.7-win32-installer.msi vừa được tải về
3. Nhấn Next ở trên hộp thoại Welcome
4. Tích chuột vào ô checkbox để đồng ý và nhất Next
5. Lựa chọn thư mục để cài đặt các file PHP và nhấn Next
6. ở hộp thoại cài đặt Web Server, lựa chọn Apache 2.0.x Module và nhấn Next
7. trong hộp thoại cấu hình thư mục Apache, lựa chọn vị trí của thư mục conf và
nhấn Next.với Apache 2.x, cấu hình thư mục tiêu chuẩn thường là C:Program
FilesApacheGroupApache2conf
8. trong hộp thoại lựa chọn thành phần để cài đặt, xoay chuột xuống phía dưới tới
phần Extensions rồi thêm Oracle 8 extension vào để cài đặt và nhấn Next
9. nhấn Install
10. 1 hộp thoại sẽ được hiện ra hỏi xem có muốn cấu hình Apache hay không?chọn
Yes
11. 1 thông báo xác nhận được hiện ra để xác nhận file httpd.conf đã được cập nhật,
nhấn OK
12. 1 thông báo xác nhận được hiện ra để xác nhận file mime.types đã được cập
nhật, nhấn OK
13. 1 thông báo xác nhận cuối cùng hiện ra xác nhận việc cài đặt PHP đã hoàn tất,
nhấn Finish
14. Khởi động lại Apache bằng: Start > Programs > Apache HTTP Server 2.0.59 >
Control Apache Server > Restart.
ii. Cài đặt OCI8 với Instant Client trên Windows(hay Oracle database được cài đặt trên
một máy khác không chứa Web Server và PHP, khi này Oracle database là 1 cơ sở
dữ liệu được điều khiển từ xa)
1. Tải gói Instant Client Basic cho Windows từ trang:
http://www.oracle.com/technology/tech/oci/instantclient/instantclient.html
3
4. file nén Zip cho Windows 32 bit thường có dạng instantclient-basic-win32-
11.1.0.6.0.zip có dung lượng khoảng 42 MB
2. Tạo 1 thư mục mới (ví dụ như: C:instantclient_11_1).sau đó giải nén file vừa tải
về vào thư mục vừa tạo này
3. Chỉnh sửa trong Windows environment và thêm vào vị trí của các file Oracle
Instant Client, C:instantclient_11_1.ví dụ trên Windows XP: Start > Settings >
Control Panel > System > Advanced > Environment Variables và chỉnh sửa
đường dẫn trong System Variables list.nếu ta đang sử dụng 1 file tnsnames.ora
để xác định tên kết nối tới Oracle Net, ta sao chép file tnsnames.ora vào thư mục
C:instantclient_11_1 , và thiết lập TNS_ADMIN trong user environment variable
thành C:instantclient_11_1
4. Cài đặt PHP theo các bước như trên
5. Khởi động lại Apache HTTP Server.
1.1.3.Cài đặt thông qua gói phần mềm WampServer trên Windows
WampServer là 1 gói phần mềm đã bao gồm các cài đặt sẵn : Apache, PHP, MySql đã
được cấu hình sẵn để liên kết với nhau nhằm giảm thiểu và hỗ trợ tối đa cho lập trình viên
trong việc thiết lập cài đặt bằng tay trong từng gói riêng lẻ để chúng có sự tương thích và
đồng bộ với nhau.việc cài đặt WampServer là khá dễ dàng chỉ cần thông qua vài cái nhấn
chuột đơn giản.các bước cài đặt:
1. Tải miễn phí gói phần mềm ở trang http://www.wampserver.com/ .tải phiên bản
mới nhất hiện thời là phiên bản 2.2a (bao gồm các gói cài đặt sẵn: Apache 2.2,
PHP 5.3.8, MySql 5.5).file tải về có tên là: WampServer2.2a-x32.exe
2. Nhấn chuột 2 lần vào file đã tải về
3. Hộp thoại Welcome hiên ra, nhấn Next
4. Tích chuột vào ô checkbox để đồng ý, rồi ấn Next
5. Lựa chọn thư mục cài đặt, rồi ấn Next
6. Tiếp tục nhấn Next
7. Nhấn Install
8. Đợi đến khi các file đã cài đặt xong, ta chọn Finish
9. Khởi động WampServer bằng việc nhấn chuột vào biểu tượng WampServer
ngoài màn hình Destop
10. ấn chuột trái vào biểu tượng WampServer trên thanh taskbar chọn PHP > PHP
Extensions > php_oci8_11g (hoặc php_oci8)
4
5. Lựa chọn tới PHP > PHP extensions
Lựa chọn php_oci8_11g(hoặc php_oci8) trong PHP extensions
11. đợi WampServer tự động khởi động lại
5
6. 1.2.Cách kết nối PHP và thực hiện truy vấn SQL từ PHP trên Oracle
database
1.2.1.Cách kết nối PHP với Oracle database sử dụng OCI8
Ta sử dụng chuỗi thông tin kết nối có chứa trong file tnsnames.ora của Oracle.file này
được tìm thấy trong thư mục dbhome_1NETWORKADMINtnsnames.ora
Ví dụ thông tin trong file tnsnames.ora là :
# tnsnames.ora Network Configuration File:
D:appngoquangtrungproduct11.2.0dbhome_1networkadmintnsnames.ora
# Generated by Oracle configuration tools.
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.168.1.10)
)
) 6
7. Ta chú ý tới chuỗi kí tự cuối cùng ở trong file:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.168.1.10)
)
Trong PHP, ta tạo 1 file config.php nhằm tạo kết nối từ PHP tới Oracle như sau:
<?php
$user='scott';
$pass='tiger';
$link=oci_connect($user,$pass,'ORCL');
if(!$link){
$error=oci_error();
echo $error['message'];
exit();
}
?>
ở trên ta sử dụng tên của kết nối: ORCL để truy cập.hơn thế ta cũng thế sử dụng chuỗi mô
tả kết nối để truy cập:
7
8. <?php
$user='scott';
$pass='tiger';
$db='(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.168.1.10)
)
)';
$link=oci_connect($user,$pass,$db);
if(!$link){
$error=oci_error();
echo $error['message'];
exit();
}
?>
oci_connect() : hàm dùng để kết nối tới 1 Oracle database, nó trả về 1 kết nối đã được xác
minh cần cho các thao tác xử lý OCI8 khác
oci_error() : trả về lỗi dưới dạng 1 mảng kết hợp khi xảy ra lỗi
để đóng 1 kết nối tới Oracle database ta sử dụng hàm oci_close()
1.2.2.Cách thực hiện truy vấn SQL từ PHP trên Oracle database:
8
9. <?php
$sql='select * from "dssv"';
$result=oci_parse($link,$sql);
oci_execute($result);
while($row=oci_fetch_row($result)){
$msv=$row[0];
$hovaten=$row[1];
$namhoc=$row[2];
$kyhoc=$row[3];
$khoahoc=$row[4];
$phonghoc=$row[9];
$giangvien=$row[11];
$khoavien=$row[10];
$thoigianhoc=$row[5].':'.$row[6].'-'.$row[7].':'.$row[8];
}
?>
oci_parse() : là hàm phân tích ngữ pháp cấu trúc lệnh để chuẩn bị xử lý trên Oracle
database
oci_execute() : là hàm thực thi cấu trúc đã được oci_parse() phân tích
oci_fetch_row() : trả về kết quả phản hồi của câu truy vấn dưới dạng mảng array có chỉ
mục là dạng số.mỗi phần tử trong mảng tương ứng với giá trị của 1 cột trong mỗi dòng kết
quả trả về của câu truy vấn
9
10. 2.CÁC YÊU CẦU VỀ BẢO MẬT, AN TOÀN DỮ LIỆU
2.1.Bảo mật và an toàn ngay trên Oracle database:
Kiểm soát truy cập: Mỗi người dùng không thể truy cập vào mọi dữ liệu.
Xác thực người dùng: Để kiểm soát truy cập trên dữ liệu nhạy cảm đầu tiên hệ quản
trị phải biết được ai đang cố gắng truy cập vào CSDL.
Phát hiện hành động đáng nghi: Chính người dùng thi thoảng cũng có các hành
động đáng nghi, ví dụ: Bỗng nhiên người quản trị hỏi một lượng lớn thông tin về
CSDL... Oracle cung cấp tập các công cụ để kiểm soát các hành động của người
dùng.
Thực thi nguyên tắc tối thiểu đặc quyền:
Việc tối thiểu đặc quyền là một người dùng chỉ có một số quyền đủ để hoàn thành
công việc của họ, việc này tránh cho họ vô tình hay cố ý sử dụng các quyền để truy
nhập hay sửa đổi CSDL.và việc thực thi này bao gồm:
Bảo vệ các dữ liệu từ điển
Thu lại các quyền không cần thiết của PUBLIC
Giới hạn các thư mục được truy cập của người dùng
Giới hạn người dùng với các quyền quản trị
Hạn chế xác thực CSDL từ xa
2.2.Kiểm soát chặt chẽ dữ liệu nhập vào
Để phòng tránh các nguy cơ bị khai thác lỗi SQL injection, để bảo vệ các câu lệnh SQL ta
cần kiểm soát chặt chẽ tất cả các dữ liệu nhập nhận được từ đối tượng Request ($_GET,
$_POST, $_SERVER, AJAX )
Cách vá lỗi:
1. Mởi php.ini và thiết lập magic_quotes_gpc thành On
Nó sẽ chèn “” trước (’) có trong:
-COOKIE
-POST
-GET
2. Sử dụng hàm addslashes() để “gói” chuỗi bằng dấu “/”
3. Sử dụng hàm htmlspecialchars(), mysql_escape_string() … để mã hoá kí tự đặc biệt
trong câu truy vấn
4. Sử dụng hàm oci_bind_by_name() ngăn cản sự tấn công bằng SQL injection, nó ràng
buộc liên kết biến trong PHP với biến trong Oracle, vì vậy biến ràng buộc này không được
hiểu là 1 phần của cấu trúc SQL, nên nó không cần phải trích dẫn lại hay bị thoát truy vấn
10
11. 5. Ép kiểu:
- Ví dụ: Ta biết id của một đối tượng (user, category, box, product …) luôn là kiểu số
nguyên, vì vậy ta dùng:
$id = (int)$_POST['id'];
hoặc
$id = (int)$_GET['id'];
Giải thích về vá lỗi :
3 cách đầu: Nếu nhập vào abc’ đi , thì nó sẽ hiểu là một chuỗi chứ không phải là abc rồi dấu
‘ riêng
Cách thứ 5: là nếu nhập chuỗi thì nó ép thành số tương ứng.
3.CHƯƠNG TRÌNH ỨNG DỤNG THỰC TẾ
Để chạy được chường trình ta phải tiến hành các bước cài đặt như đã nói ở trên và thực
hiện kích hoạt scott/tiger schemas rồi import cơ sở dữ liệu có sẵn vào trong Oracle
database
Mô tả chương trình ứng dụng:
Ứng dụng gồm 2 Forms:
- Form01: Chứa 1 Data Grid 1 bộ lọc. Data Grid hiển thị đầy đủ các trường thông tin: Mã
sinh viên, Họ tên sinh viên, Năm học, Kỳ học, Khóa học, Thời gian học, Phòng học, Giảng
viên, Khoa viện. Bộ lọc hỗ trợ lọc theo các trường: Mã sinh viên, Họ tên sinh viên, Năm học,
Kỳ học, Khóa học. Thực hiện các chức năng xem, thêm, xóa, sửa đối với từng sinh viên,
thao tác trên Form 02 dưới đây.
- Form02: Chứa các thông tin về Mã sinh viên, Họ tên sinh viên, Năm học, Kỳ học, Khóa
học, Thời gian học, Phòng học, Giảng viên, Khoa viện của từng sinh viên. Cài đặt mối liên
kết dữ liệu trên giao diện: chẳng hạn chọn khoa viện thì lọc được danh sách sinh viên thuộc
khoa viện, chọn khóa học thì lọc được danh sách giảng viên có thể dạy khóa học đó. Thực
hiện cập nhật dữ liệu trên giao diện và lưu vào cơ sở dữ liệu.
Giao diện chương trình:
FORM01
11
12. Giao diện tổng quan FORM01
Khi tiến hành lọc dữ liệu ở trường họ và tên bắt đầu bằng “ZH”
FORM02
12
13. Giao diện tổng quan FORM02
Kết quả lọc dữ liệu theo năm học : 2002; kỳ học: FALL; khóa học: DRAMA; phòng
học: 808
Thêm mới dữ liệu
13
15. TÀI LIỆU THAM KHẢO
“The Underground PHP and Oracle Manual”, CHRISTOPHER JONES AND ALISON
HOLLOWAY
“PHP Manual”, THE PHP DOCUMENTATION GROUP
“PHP Oracle Web Development Data Processing, Security, Caching, XML, Web
Services, and AJAX”, YULI VASILIEV
15