Phiên bản không được hỗ trợ:7.4 / 7.3 / 7.2
Tài kèo bóng đá pháp này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

5.6. Lưu trữ kèo bóng đá pháp

kèo bóng đá phápcung cấp haikèo bóng đá pháp'sKiểu kèo bóng đá phápbyteahoặc bằng cách sử dụngĐối tượng lớnTính năng lưu trữoidtrong bảng của bạn.

Để xác định phương pháp nào phù hợp, bạn cần phảibyteaKiểu dữ kèo bóng đá pháp không phù hợp để lưu trữ rấtbyteacó thể chứa tới 1 GB kèo bóng đá pháp, nó sẽRAM) để xử lý một giá trị lớn như vậy. Lớn

7.2 là bản phát hành đầu tiên củaJDBCTrình điều khiển hỗ trợbyteaKiểu dữ kèo bóng đá pháp. Sự ra đời của điều nàygetBytes (), setBytes (), getBinaryStream ()setBinaryStream ()hoạt động trênbyteaKiểu dữ kèo bóng đá pháp. Trong 7.1 Các phương thức này hoạt động trênoidKiểu dữ kèo bóng đá pháp được liên kết với lớntương thíchthuộc tính trênKết nốiđến a7.1

Để sử dụngbyteaKiểu dữ kèo bóng đá pháp bạn nêngetBytes (), setBytes (), getBinaryStream ()hoặcsetBinaryStream ()Phương pháp.

Để sử dụng chức năng đối tượng lớn, bạn có thể sử dụngLargeObject APIĐược cung cấp bởikèo bóng đá pháp JDBCtrình điều khiển hoặc bằng cách sử dụnggetBlob ()setBlob ()Phương pháp.

quan trọng:chokèo bóng đá pháp, bạn phải truy cập lớnSQLGiao dịch. Bạn sẽ mở một giao dịch bằng cách sử dụngsetAutoCommit ()Phương pháp với mộtSai.

Lưu ý:Trong một bản phát hành trong tương lai củaJDBCtrình điều khiển,getBlob ()setBlob ()Phương pháp có thể không còn tương tácbyteaKiểu dữ kèo bóng đá pháp. Vì vậy, nó được khuyến nghị rằng bạnLargeObject APINếu bạn có ý định sử dụng

Ví dụ 5-4. Ví dụ kèo bóng đá pháp

Ví dụ: giả sử bạn có một bảng chứa tệpbyteacột:

Tạo hình ảnh bảng (văn bản imgname, img bytea);

Để chèn một hình ảnh, bạn sẽ sử dụng:

Tệp tệp = Tệp mới ("MyImage.gif");

ở đây,setBinaryStream ()Chuyển một số byte đã đặt từ một luồng vào cộtbytea. Điều này cũng có thể đã đượcsetBytes ()Phương phápbyte [].

Truy xuất một hình ảnh thậm chí còn dễ dàng hơn. (Chúng tôi sử dụngPreparedStatementở đây, nhưngcâu lệnhlớp có thể được sử dụng như nhau.)

PreadStatement PS = con.Preparestatement ("Chọn IMG từ hình ảnh trong đó imgname =?");

Ở đây kèo bóng đá pháp được lấy dưới dạngbyte []. Bạn có thể đã sử dụng mộtInputStreamĐối tượng thay thế.

Ngoài ra, bạn có thể lưu trữ một tệp rất lớn vàLargeObject APIĐể lưu trữ tệp:

Tạo bảng Imageslo (văn bản imgname, imgoid oid);

Để chèn một hình ảnh, bạn sẽ sử dụng:

// Các cuộc gọi API của LarmObject phải nằm trong giao dịch

Truy xuất hình ảnh từ đối tượng lớn:

// Tất cả các cuộc gọi API lớn phải nằm trong giao dịch