Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách Zend DB quản lý các kết nối cơ sở dữ liệu

Tạo kết nối

Tạo một phiên bản của lớp Bộ điều hợp không kết nối ngay lập tức với máy chủ RDBMS . Bộ điều hợp lưu các thông số kết nối và tạo kết nối thực tế theo yêu cầu, lần đầu tiên bạn cần thực hiện một truy vấn. Điều này đảm bảo rằng việc tạo một đối tượng Adapter nhanh chóng và không tốn kém. Bạn có thể tạo một phiên bản của Bộ điều hợp ngay cả khi bạn không chắc chắn rằng bạn cần chạy bất kỳ truy vấn cơ sở dữ liệu nào trong yêu cầu hiện tại mà ứng dụng của bạn đang cung cấp.

Nếu bạn cần buộc Bộ điều hợp kết nối với RDBMS, hãy sử dụng phương thức getConnection (). Phương thức này trả về một đối tượng cho kết nối như được đại diện bởi phần mở rộng cơ sở dữ liệu PHP tương ứng. Ví dụ:nếu bạn sử dụng bất kỳ lớp Bộ điều hợp nào cho trình điều khiển PDO, thì getConnection () trả về đối tượng PDO, sau khi khởi tạo nó dưới dạng kết nối trực tiếp đến cơ sở dữ liệu cụ thể.

Có thể hữu ích khi buộc kết nối nếu bạn muốn bắt bất kỳ trường hợp ngoại lệ nào mà nó ném ra do thông tin đăng nhập tài khoản không hợp lệ hoặc không kết nối được với máy chủ RDBMS. Các ngoại lệ này không được đưa ra cho đến khi kết nối được thực hiện, vì vậy nó có thể giúp đơn giản hóa mã ứng dụng của bạn nếu bạn xử lý các ngoại lệ ở một nơi, thay vì tại thời điểm truy vấn đầu tiên đối với cơ sở dữ liệu.

Ngoài ra, một bộ điều hợp có thể được tuần tự hóa để lưu trữ nó, chẳng hạn như trong một biến phiên. Điều này có thể rất hữu ích không chỉ cho chính bộ điều hợp mà còn cho các đối tượng khác tổng hợp nó, chẳng hạn như đối tượng Zend_Db_Select. Theo mặc định, các bộ điều hợp được phép tuần tự hóa, nếu không muốn, bạn nên cân nhắc chuyển tùy chọn Zend_Db ::ALLOW_SERIALIZATION với FALSE, xem ví dụ ở trên. Để tôn trọng nguyên tắc kết nối lười biếng, bộ điều hợp sẽ không tự kết nối lại sau khi chưa được công nghệ hóa. Sau đó, bạn phải tự gọi getConnection (). Bạn có thể đặt bộ điều hợp tự động kết nối lại bằng cách chuyển Zend_Db ::AUTO_RECONNECT_ON_UNSERIALIZE với TRUE làm tùy chọn bộ điều hợp.

Đóng kết nối

Thông thường, không cần thiết phải đóng kết nối cơ sở dữ liệu. PHP tự động dọn dẹp tất cả các tài nguyên và khi kết thúc một yêu cầu. Phần mở rộng cơ sở dữ liệu được thiết kế để đóng kết nối khi tham chiếu đến đối tượng tài nguyên được làm sạch.

Tuy nhiên, nếu bạn có một tập lệnh PHP thời lượng dài khởi tạo nhiều kết nối cơ sở dữ liệu, bạn có thể cần phải đóng kết nối, để tránh làm cạn kiệt dung lượng của máy chủ RDBMS của bạn. Bạn có thể sử dụng phương thức closeConnection () của Bộ điều hợp để đóng rõ ràng kết nối cơ sở dữ liệu bên dưới.

Kể từ bản phát hành 1.7.2, bạn có thể kiểm tra xem bạn hiện đang kết nối với máy chủ RDBMS bằng phương thức isConnected (). Điều này có nghĩa là tài nguyên kết nối đã được khởi tạo và chưa bị đóng. Chức năng này hiện không thể kiểm tra, chẳng hạn như phía máy chủ đóng kết nối. Điều này được sử dụng nội bộ để đóng kết nối. Nó cho phép bạn đóng kết nối nhiều lần mà không bị lỗi. Đó là trường hợp trước 1.7.2 đối với bộ điều hợp PDO nhưng không phải đối với những bộ điều hợp khác.

Thông tin khác




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ruby CSV đọc các trường đa dòng

  2. Tham gia và nhiều và điều kiện

  3. truy vấn tốn kém làm hỏng máy chủ cơ sở dữ liệu - đang tìm cách giảm thiểu

  4. Nhiều câu lệnh chèn trong ODBC ExecuteNonQuery (C #) đơn lẻ

  5. Công cụ biểu đồ của Google với PHP và MySQl