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

Không thể kết nối với MySQL - Glassfish và Hibernate

Nhìn vào dòng sau trong ngăn xếp

bạn có thể đoán vấn đề có thể là gì. Tôi nghĩ vấn đề đầu tiên là vấn đề trình điều khiển cơ sở dữ liệu. 1527 là số cổng mặc định của cơ sở dữ liệu derby được gửi cùng với máy chủ ứng dụng Glassfish.

Vì bạn chưa cung cấp bất kỳ nguồn dữ liệu nào trong cấu hình của mình, máy chủ đang cố gắng tìm cơ sở dữ liệu mặc định trong trường hợp này; nhưng bạn không thể kết nối với cơ sở dữ liệu đó vì bạn chưa cung cấp bất kỳ thông tin kết nối nào cho cơ sở dữ liệu này.

Vì vậy, bạn phải làm như sau trong META-INF/persistence.xml của mình :

  • Cung cấp transaction-type (trong cấu hình của bạn, nó được giả định là JTA vì bạn đang triển khai ứng dụng của mình trên môi trường JEE cho mỗi đặc tả) là

    <persistence-unit name="unit" transaction-type="JTA">
    
  • Cung cấp jta-data-source là phần tử con của persistence-unit

    <persistence-unit name="unit" transaction-type="JTA">
        ...
        <jta-data-source>your_data_source_name</jta-data-source>
        ...
    </persistence-unit>
    

Để cấu hình trên hoạt động, bạn phải định cấu hình máy chủ ứng dụng (Glassfish) của mình. Để làm như vậy, bạn phải tải xuống trình điều khiển jdbc MySQL, giải nén nó và sao chép tệp jar vào <glassfish_installation_directory>/glassfish/domains/domain1/lib (Tôi giả sử ở đây là Glassfish 3.1). Lý do cho điều này là Glassfish không được vận chuyển với trình điều khiển MySQL, vì vậy bạn phải tự thực hiện việc này.

Sau khi khởi động Glassfish và mở bảng điều khiển dành cho quản trị viên ( http:// localhost:4848 ). Trên ngăn bên trái, hãy mở

  1. Resources/JDBC/JDBC Connection Pools và tạo một nhóm kết nối mới
  2. Resources/JDBC/JDBC Resources và tạo một nguồn dữ liệu mới. Tên bạn đặt cho nguồn dữ liệu của mình là tên bạn phải có trong persistence.xml của mình như đã đề cập ở trên.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để tôi có thể Chèn nhiều hàng vào một bảng MySQL và trả về các ID mới?

  2. Kết nối Google Spreadsheets với MySQL w / JDBC

  3. MySql:Chọn câu lệnh sử dụng toán tử IN

  4. PHP / MySQL:Chọn các vị trí gần với một vị trí nhất định từ DB

  5. mySQL>> Thêm liên kết HREF vào GROUP_CONCAT Riêng biệt