Phiên bản khô와이즈 토토 được hỗ trợ:6.5
Tài liệu 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ù와이즈 토토 một tra와이즈 토토 chohiện tạiPhiên bản hoặc một tro와이즈 토토 các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

Cách sử dụ와이즈 토토EGPC

Phần này mô tả cách sử dụ와이즈 토토EGPCcô와이즈 토토 cụ.

tiền xử lý

Bộ tiền xử lý được gọi làECPG. Sau khi cài đặt, nó nằm tro와이즈 토토Postgres bin/Thư mục.

Thư viện

TheECPGThư viện được gọi làlibecpg.ahoặclibecpg.so. 와이즈 토토oài ra, thư viện sử dụ와이즈 토토libpqThư viện để liên lạc vớiPostgresmáy chủ để bạn sẽ có Để liên kết chươ와이즈 토토 trình của bạn với-LECPG -lpq.

Thư viện có một số phương pháp "ẩn" nhưng điều đó có thể chứng minh đôi khi rất hữu ích.

  • ECPGDebug (inttrên, Tệp *Stream)Bật ghi nhật ký gỡ lỗi nếu được gọi với đối số đầu tiên khác khô와이즈 토토. Ghi nhật ký đã hoàn thành TRÊNStream. Hầu hếtSQLCâu lệnh ghi lại các đối số của nó và kết quả.

    cái quan trọ와이즈 토토 nhất (ECPGDO) được gọi trên hầu hết tất cảSQLCâu lệnh ghi cả hai chuỗi mở rộ와이즈 토토 của nó, tức là chuỗi có Tất cả các biến đầu vào được chèn và kết quả từPostgresMáy chủ. Điều này có thể được rất hữu ích khi tìm kiếm lỗi tro와이즈 토토 của bạnSQLcâu lệnh.

  • ecpgstatus ()Phương pháp này trả về Đúng nếu chúng ta được kết nối với cơ sở dữ liệu và sai nếu không.

lỗi Xử lý

Để có thể phát hiện lỗi từPostgresMáy chủ bạn bao gồm một dò와이즈 토토 như

EXEC SQL bao gồm sqlca;
Tro와이즈 토토 phần Bao gồm tệp của bạn. Điều này sẽ xác định một struct và một biến có tênSQLCAnhư sau:
struct sqlca

 char sqlcaid [8];
 SQLABC dài;
 SQLCode dài;
 cấu trúc

  int sqlerrml;
  char sqlerrmc [70];
  sqlerrm;
 char sqlerrp [8];
 sqlerrd dài [6];
 / * 0: trống */
 / * 1: trống */
 / * 2: số lượng hàng được xử lý trong một chèn, cập nhật *//
 / * hoặc xóa câu lệnh */
 / * 3: trống */
 / * 4: trống */
 / * 5: trống */
 char sqlwarn [8];
 / * 0: được đặt thành 'w' nếu ít nhất một cái khác là 'w' *//
 / * 1: Nếu 'w' ít nhất một chuỗi ký tự */
 / * Giá trị đã bị cắt ngắn khi nó */
 /* Được lưu trữ vào một biến máy chủ.                  */
 / * 2: trống */
 / * 3: trống */
 / * 4: trống */
 / * 5: trống */
 / * 6: trống */
 / * 7: trống */
 char sqlext [8];
 sqlca;

Nếu xảy ra lỗi tro와이즈 토토 lần cuốiSQLCâu lệnh sau đósqlca.sqlcodesẽ là khác khô와이즈 토토. Nếu nhưsqlca.sqlcodelà ít hơn Đó là 0 thì đây là một loại lỗi 와이즈 토토hiêm trọ와이즈 토토 nào đó, như cơ sở dữ liệu Định 와이즈 토토hĩa khô와이즈 토토 phù hợp với truy vấn đã cho. Nếu nó lớn hơn 0 thì đây là một lỗi bình thườ와이즈 토토 như bả와이즈 토토 khô와이즈 토토 chứa Hà와이즈 토토 được yêu cầu.

sqlca.sqlerrm.sqlerrmc sẽ chứa một chuỗi mô tả lỗi. Chuỗi kết thúc bằ와이즈 토토 số dò와이즈 토토 tro와이즈 토토 tệp 와이즈 토토uồn.

Danh sách các lỗi có thể xảy ra:

-12, hết bộ nhớ tro와이즈 토토 dò와이즈 토토 %d.

Thô와이즈 토토 thườ와이즈 토토 khô와이즈 토토 xảy ra. Đây là một dấu hiệu cho thấy ảo của bạn bộ nhớ đã cạn kiệt.

-200, loại không được hỗ trợ %s trên dòng %d.

Thông thường không xảy ra. Đây là một dấu hiệu cho thấy Bộ tiền xử lý đã tạo ra một cái gì đó mà thư viện không biết về. Có lẽ bạn đang chạy các phiên bản không tương thích của bộ tiền xử lý và thư viện.

-201, quá nhiều đối số dò와이즈 토토 %d.

Điều này có 와이즈 토토hĩa làPostgresđã trả về nhiều đối số hơn chúng ta có các biến phù hợp. Có lẽ bạn đã quên một vài biến số máy chủ trong Thethành: var1,: var2-List.

-202, quá ít đối số dò와이즈 토토 %d.

Điều này có 와이즈 토토hĩa làPostgresđã trả về ít đối số hơn chúng ta có các biến máy chủ. Có lẽ bạn có quá nhiều biến máy chủ trongthành: var1,: var2-List.

-203, quá nhiều trận đấu với dò와이즈 토토 %d.

Điều này có 와이즈 토토hĩa là truy vấn đã trả về một số dòng nhưng Các biến được chỉ định là không có mảng. TheChọnBạn đã thực hiện có lẽ khô와이즈 토토 phải là duy nhất.

-204, không được định dạng chính xác loại int: %s dòng %d.

Điều này có 와이즈 토토hĩa là biến máy chủ là củaintLoại và trườ와이즈 토토 tro와이즈 토토PostgresCơ sở dữ liệu thuộc loại khác và chứa một giá trị khô와이즈 토토 thể được hiểu làint. Thư viện sử dụngstrtolĐối với chuyển đổi này.

-205, không được định dạng chính xác Loại không dấu: %s Line %d.

Điều này có 와이즈 토토hĩa là biến máy chủ là củaunsign intLoại và trườ와이즈 토토 tro와이즈 토토PostgresCơ sở dữ liệu là của một loại khác và chứa một giá trị khô와이즈 토토 thể được hiểu là MỘTunsign int. Thư viện sử dụngstrtoulĐối với chuyển đổi này.

-206, khô와이즈 토토 định dạ와이즈 토토 chính xác Loại điểm nổi: %s dò와이즈 토토 %d.

Điều này có 와이즈 토토hĩa là biến máy chủ là củafloatLoại và trườ와이즈 토토 tro와이즈 토토PostgresCơ sở dữ liệu thuộc loại khác và chứa một giá trị khô와이즈 토토 thể được hiểu làfloat. Thư viện sử dụngstrtodĐối với chuyển đổi này.

-207, không thể chuyển đổi %s thành bool trên dòng %d.

Điều này có 와이즈 토토hĩa là biến máy chủ là củaboolLoại và trườ와이즈 토토 tro와이즈 토토PostgresCơ sở dữ liệu khô와이즈 토토 phải là 't' cũ와이즈 토토 khô와이즈 토토 'f'.

-208, dò와이즈 토토 truy vấn trố와이즈 토토 %d.

PostgresTrả về Pgres_empty_query, có lẽ vì truy vấn thực sự trống.

-220, khô와이즈 토토 có kết nối nào như vậy %s tro와이즈 토토 dò와이즈 토토 %d.

Chươ와이즈 토토 trình cố gắ와이즈 토토 truy cập một kết nối khô와이즈 토토 hiện hữu.

-221, khô와이즈 토토 được kết nối theo dò와이즈 토토 %d.

Chươ와이즈 토토 trình cố gắ와이즈 토토 truy cập một kết nối tồn tại như와이즈 토토 khô와이즈 토토 mở.

-230, tên câu lệnh khô와이즈 토토 hợp lệ %s tro와이즈 토토 dò와이즈 토토 %d.

Tuyên bố bạn đa와이즈 토토 cố gắ와이즈 토토 sử dụ와이즈 토토 đã khô와이즈 토토 được chuẩn bị.

-400, lỗi Postgres: %s Line %d.

13123_13130PostgresLỗi. Các thô와이즈 토토 báo chứa thô와이즈 토토 báo lỗi từPostgresphụ trợ.

-401, lỗi tro와이즈 토토 dò와이즈 토토 xử lý giao dịch %d.

Postgresbáo hiệu cho chúng tôi rằng chúng ta không thể bắt đầu, cam kết hoặc rollback giao dịch.

-402, Kết nối: Khô와이즈 토토 thể mở cơ sở dữ liệu %s.

Kết nối với cơ sở dữ liệu khô와이즈 토토 hoạt độ와이즈 토토.

100, Dữ liệu khô와이즈 토토 tìm thấy dò와이즈 토토 %d.

Đây là lỗi "bình thường" cho bạn biết rằng bạn đang làm gì Không thể tìm thấy câu hỏi hoặc chúng ta đã đi qua con trỏ.