云服务器内容精选
-
原型 1 2 3 4 5 6 7 8 SQLRETURN SQLGetDiagRec(SQLSMALLINT HandleType SQLHANDLE Handle, SQLSMALLINT RecNumber, SQLCHAR *SQLState, SQLINTEGER *NativeErrorPtr, SQLCHAR *MessageText, SQLSMALLINT BufferLength SQLSMALLINT *TextLengthPtr);
-
参数 表1 SQLGetDiagRec参数 关键字 参数说明 HandleType 句柄类型标识符,它说明诊断所要求的句柄类型。必须为下列值之一: SQL_HANDLE_ENV SQL_HANDLE_DBC SQL_HANDLE_STMT SQL_HANDLE_DESC Handle 诊断数据结构的句柄,其类型由HandleType来指出。如果HandleType是SQL_HANDLE_ENV,Handle可以是共享的或非共享的环境句柄。 RecNumber 指出应用从查找信息的状态记录。状态记录从1开始编号。 SQLState 输出参数:指向缓冲区的指针,该缓冲区存储着有关RecNumber的五字符的SQLSTATE码。 NativeErrorPtr 输出参数:指向缓冲区的指针,该缓冲区存储着本地的错误码。 MessageText 指向缓冲区的指针,该缓冲区存储着诊断信息文本串。 BufferLength MessageText的长度。 TextLengthPtr 输出参数:指向缓冲区的指针,返回MessageText中的字节总数。如果返回字节数大于BufferLength,则MessageText中的诊断信息文本被截断成BufferLength减去NULL结尾字符的长度。
-
注意事项 SQLGetDiagRec不发布自己的诊断记录。它用下列返回值来报告它自己的执行结果: SQL_SUC CES S:函数成功返回诊断信息。 SQL_SUCCESS_WITH_INFO:*MessageText太小以致不能容纳所请求的诊断信息。没有诊断记录生成。 SQL_INVALID_HANDLE:由HandType和Handle所指出的句柄是不合法句柄。 SQL_ERROR:RecNumber小于等于0或BufferLength小于0。 如果调用ODBC函数返回SQL_ERROR或SQL_SUCCESS_WITH_INFO,可调用SQLGetDiagRec返回诊断信息值SQLSTATE,SQLSTATE值的如下表。 表2 SQLSTATE值 SQLSATATE 错误 描述 HY000 一般错误 未定义特定的SQLSTATE所产生的一个错误。 HY001 内存分配错误 驱动程序不能分配所需要的内存来支持函数的执行或完成。 HY008 取消操作 调用SQLCancel取消执行语句后,依然在StatementHandle上调用函数。 HY010 函数系列错误 在为执行中的所有数据参数或列发送数据前就调用了执行函数。 HY013 内存管理错误 不能处理函数调用,可能由当前内存条件差引起。 HYT01 连接超时 数据源响应请求之前,连接超时。 IM001 驱动程序不支持此函数 调用了StatementHandle相关的驱动程序不支持的函数
-
内核错误信息 ER RMS G: "unsupported syntax: ENCRYPTED WITH in this operation" SQLSTATE: 42601 CAUSE: "client encryption feature is not supported this operation." ACTION: "Check client encryption feature whether supported this operation." ERRMSG: "invalid grant operation" SQLSTATE: 0LP01 CAUSE: "Grant options cannnot be granted to public." ACTION: "Grant grant options to roles." ERRMSG: "unrecognized object kind: %d" SQLSTATE: XX004 CAUSE: "The object type is not supported for GRANT/REVOKE." ACTION: "Check GRANT/REVOKE syntax to obtain the supported object types." ERRMSG: "unrecognized GrantStmt.targtype: %d" SQLSTATE: XX004 CAUSE: "The target type is not supported for GRANT/REVOKE." ACTION: "Check GRANT/REVOKE syntax to obtain the supported target types." ERRMSG: "invalid grant operation" SQLSTATE: 0LP01 CAUSE: "Grant to public operation is forbidden in security mode." ACTION: "Don't grant to public in security mode." ERRMSG: "unrecognized object type" SQLSTATE: XX004 CAUSE: "The object type is not supported for GRANT/REVOKE." ACTION: "Check GRANT/REVOKE syntax to obtain the supported object types." ERRMSG: "invalid grant/revoke operation" SQLSTATE: 0LP01 CAUSE: "Column privileges are only valid for relations in GRANT/REVOKE." ACTION: "Use the column privileges only for relations." ERRMSG: "invalid AccessPriv node" SQLSTATE: 0LP01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "unrecognized GrantStmt.objtype: %d" SQLSTATE: XX004 CAUSE: "The object type is not supported for GRANT/REVOKE." ACTION: "Check GRANT/REVOKE syntax to obtain the supported object types." ERRMSG: "undefined client master key" SQLSTATE: 42705 CAUSE: "The client master key does not exist." ACTION: "Check whether the client master key exists." ERRMSG: "undefined column encryption key" SQLSTATE: 42705 CAUSE: "The column encryption key does not exist." ACTION: "Check whether the column encryption key exists." ERRMSG: "large object %u does not exist" SQLSTATE: 42704 CAUSE: "The large object does not exist." ACTION: "Check whether the large object exists." ERRMSG: "redundant options" SQLSTATE: 42601 CAUSE: "The syntax 'schemas' is redundant in ALTER DEFAULT PRIVILEGES statement." ACTION: "Check ALTER DEFAULT PRIVILEGES syntax." ERRMSG: "redundant options" SQLSTATE: 42601 CAUSE: "The syntax 'roles' is redundant in ALTER DEFAULT PRIVILEGES statement." ACTION: "Check ALTER DEFAULT PRIVILEGES syntax." ERRMSG: "option '%s' not recognized" SQLSTATE: 42601 CAUSE: "The option in ALTER DEFAULT PRIVILEGES statement is not supported." ACTION: "Check ALTER DEFAULT PRIVILEGES syntax." ERRMSG: "unrecognized GrantStmt.objtype: %d" SQLSTATE: XX004 CAUSE: "The object type is not supported for ALTER DEFAULT PRIVILEGES." ACTION: "Check ALTER DEFAULT PRIVILEGES syntax to obtain the supported object types." ERRMSG: "invalid alter default privileges operation" SQLSTATE: 0LP01 CAUSE: "Default privileges cannot be set for columns." ACTION: "Check ALTER DEFAULT PRIVILEGES syntax." ERRMSG: "unrecognized objtype: %d" SQLSTATE: XX004 CAUSE: "The object type is not supported for default privileges." ACTION: "Check ALTER DEFAULT PRIVILEGES syntax to obtain the supported object types." ERRMSG: "could not find tuple for default ACL %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "unexpected default ACL type: %d" SQLSTATE: 0LP01 CAUSE: "The object type is not supported for default privilege." ACTION: "Check ALTER DEFAULT PRIVILEGES syntax to obtain the supported object types." ERRMSG: "invalid object id" SQLSTATE: 0LP01 CAUSE: "The object type is not supported for GRANT/REVOKE." ACTION: "Check GRANT/REVOKE syntax to obtain the supported object types." ERRMSG: "undefined column" SQLSTATE: 42703 CAUSE: "The column of the relation does not exist." ACTION: "Check whether the column exists." ERRMSG: "column number out of range" SQLSTATE: 0LP01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "cache lookup failed for attribute %d of relation %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "cache lookup failed for relation %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "unsupported object type" SQLSTATE: 42809 CAUSE: "Index type is not supported for GRANT/REVOKE." ACTION: "Check GRANT/REVOKE syntax to obtain the supported object types." ERRMSG: "unsupported object type" SQLSTATE: 42809 CAUSE: "Composite type is not supported for GRANT/REVOKE." ACTION: "Check GRANT/REVOKE syntax to obtain the supported object types." ERRMSG: "wrong object type" SQLSTATE: 42809 CAUSE: "GRANT/REVOKE SEQUENCE only support sequence objects." ACTION: "Check GRANT/REVOKE syntax to obtain the supported object types." ERRMSG: "invalid privilege type USAGE for table" SQLSTATE: 0LP01 CAUSE: "GRANT/REVOKE TABLE do not support USAGE privilege." ACTION: "Check GRANT/REVOKE syntax to obtain the supported privilege types for tables." ERRMSG: "invalid privilege type %s for column" SQLSTATE: 0LP01 CAUSE: "The privilege type is not supported for column object." ACTION: "Check GRANT/REVOKE syntax to obtain the supported privilege types for column object." ERRMSG: "cache lookup failed for database %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "cache lookup failed for foreign-data wrapper %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "cache lookup failed for foreign server %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "cache lookup failed for function %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "cache lookup failed for language %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "Grant/revoke on untrusted languages if forbidden." SQLSTATE: 0LP01 CAUSE: "Grant/revoke on untrusted languages if forbidden." ACTION: "Support grant/revoke on trusted C languages" ERRMSG: "cache lookup failed for large object %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "cache lookup failed for namespace %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "Role %s has not privilege to grant/revoke node group %s." SQLSTATE: 42501 CAUSE: "Role has not privilege to grant/revoke node group." ACTION: "Must have sysadmin privilege." ERRMSG: "Can not grant CREATE privilege on node group %u to role %u in node group %u." SQLSTATE: 42501 CAUSE: "Role has not privilege to grant CREATE privilege node group." ACTION: "Must have sysadmin privilege." ERRMSG: "cache lookup failed for tablespace %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "cache lookup failed for type %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "cannot set privileges of array types" SQLSTATE: 0LP01 CAUSE: "Cannot set privileges of array types." ACTION: "Set the privileges of the element type instead." ERRMSG: "wrong object type" SQLSTATE: 42809 CAUSE: "GRANT/REVOKE DOMAIN only support domain objects." ACTION: "Check GRANT/REVOKE syntax to obtain the supported object types." ERRMSG: "cache lookup failed for client master key %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "cache lookup failed for column encryption key %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "cache lookup failed for directory %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "unrecognized privilege type '%s'" SQLSTATE: 42601 CAUSE: "The privilege type is not supported." ACTION: "Check GRANT/REVOKE syntax to obtain the supported privilege types." ERRMSG: "unrecognized privilege: %d" SQLSTATE: XX004 CAUSE: "The privilege type is not supported." ACTION: "Check GRANT/REVOKE syntax to obtain the supported privilege types." ERRMSG: "unrecognized AclResult" SQLSTATE: XX004 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "permission denied for column '%s' of relation '%s'" SQLSTATE: 42501 CAUSE: "Insufficient privileges for the column." ACTION: "Select the system tables to get the acl of the column." ERRMSG: "role with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "unrecognized objkind: %d" SQLSTATE: XX004 CAUSE: "The object type is not supported for privilege check." ACTION: "Check GRANT/REVOKE syntax to obtain the supported object types." ERRMSG: "attribute %d of relation with OID %u does not exist" SQLSTATE: 42703 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "the column has been dropped" SQLSTATE: 42703 CAUSE: "The column does not exist." ACTION: "Check whether the column exists." ERRMSG: "relation with OID %u does not exist" SQLSTATE: 42P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "invalid group" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "database with OID %u does not exist" SQLSTATE: 3D000 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "directory with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "function with OID %u does not exist" SQLSTATE: 42883 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "client master key with OID %u does not exist" SQLSTATE: 42705 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "language with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "large object %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "schema with OID %u does not exist" SQLSTATE: 3F001 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "node group with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "tablespace with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "foreign-data wrapper with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "foreign server with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "type with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "operator with OID %u does not exist" SQLSTATE: 42883 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "column encryption key with OID %u does not exist" SQLSTATE: 42705 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "operator class with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "operator family with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "text search dictionary with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "text search configuration with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "collation with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "conversion with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "synonym with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "package can not create the same name with schema." SQLSTATE: 22023 CAUSE: "Package name conflict" ACTION: "Please rename package name" ERRMSG: "type is not exists %s." SQLSTATE: 22023 CAUSE: "System error." ACTION: "Contact Huawei Engineer." ERRMSG: "This input type is not supported for tdigest_in()" SQLSTATE: 0A000 CAUSE: "input type is not supported" ACTION: "Check tdigest_in syntax to obtain the supported privilege types" ERRMSG: "Failed to apply for memory" SQLSTATE: 53200 CAUSE: "palloc failed" ACTION: "Check memory" ERRMSG: "Failed to get tde info from relation '%s'." SQLSTATE: XX005 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "SPI_connect failed: %s" SQLSTATE: SP001 CAUSE: "System error." ACTION: "Analyze the error message before the error" ERRMSG: "permission denied for terminate snapshot thread" SQLSTATE: 42501 CAUSE: "The user does not have system admin privilege" ACTION: "Grant system admin to user" ERRMSG: "terminate snapshot thread failed" SQLSTATE: OP001 CAUSE: "Execution failed due to: %s" ACTION: "check if snapshot thread exists" ERRMSG: "terminate snapshot thread failed" SQLSTATE: OP001 CAUSE: "restart wdr snapshot thread timeoutor The thread did not respond to the kill signal" ACTION: "Check the wdr snapshot thread is restarted" ERRMSG: "set lockwait_timeout failed" SQLSTATE: XX000 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "permission denied for create WDR Snapshot" SQLSTATE: 42501 CAUSE: "The user does not have system admin privilege" ACTION: "Grant system admin to user" ERRMSG: "WDR snapshot request can not be accepted, please retry later" SQLSTATE: OP001 CAUSE: "wdr snapshot thread does not exist" ACTION: "Check if wdr snapshot thread exists" ERRMSG: "Cannot respond to WDR snapshot request" SQLSTATE: OP001 CAUSE: "Execution failed due to: %s" ACTION: "Check if wdr snapshot thread exists" ERRMSG: "query(%s) can not get datum values" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the query can be executed" ERRMSG: "create sequence failed" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check if sequence can be created" ERRMSG: "update snapshot end time stamp filled" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the snapshot retry is successful" ERRMSG: "query can not get datum values" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the query can be executed" ERRMSG: "SPI_connect failed: %s" SQLSTATE: XX000 CAUSE: "System error." ACTION: "Check whether the snapshot retry is successful" ERRMSG: "query(%s) execute failed" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the snapshot retry is successful" ERRMSG: "clean table of snap_%s is failed" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the snapshot retry is successful" ERRMSG: "analyze table failed" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the snapshot retry is successful" ERRMSG: "insert into tables_snap_timestamp start time stamp is failed" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the snapshot retry is successful" ERRMSG: "insert data failed" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the snapshot retry is successful and check whether the query can be executed" ERRMSG: "update tables_snap_timestamp end time stamp is failed" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the snapshot retry is successful" ERRMSG: "clean snapshot id %lu is failed in snapshot table" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the snapshot retry is successful and check whether the query can be executed" ERRMSG: "clean snapshot failed" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the snapshot retry is successful" ERRMSG: "can not create snapshot stat table" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the query can be executed" ERRMSG: "create WDR snapshot data table failed" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the query can be executed" ERRMSG: "insert into tables_snap_timestamp start time stamp failed" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the query can be executed" ERRMSG: "insert into snap_%s is failed" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the query can be executed" ERRMSG: "update tables_snap_timestamp end time stamp failed" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the query can be executed" ERRMSG: "create index failed" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the query can be executed" ERRMSG: "analyze table, connection failed: %s" SQLSTATE: XX000 CAUSE: "System error." ACTION: "Check whether the snapshot retry is successful" ERRMSG: "snapshot thread SPI_connect failed: %s" SQLSTATE: XX000 CAUSE: "System error." ACTION: "Check whether the snapshot retry is successful" ERRMSG: "Distributed key column can't be transformed" SQLSTATE: 42P10 CAUSE: "There is a risk of violating uniqueness when transforming distribution columns." ACTION: "Change transform column." ERRMSG: "cannot convert %s to %s" SQLSTATE: 42804 CAUSE: "There is no conversion path in pg_cast." ACTION: "Rewrite or cast the expression." ERRMSG: "create matview on TDE table failed" SQLSTATE: 0A000 CAUSE: "create materialized views is not supported on TDE table" ACTION: "check CREATE syntax about create the materialized views" ERRMSG: "schema name can not same as package" SQLSTATE: 22023 CAUSE: "schema name conflict" ACTION: "rename schema name" ERRMSG: "Unrecognized commandType when checking read-only attribute." SQLSTATE: XX004 CAUSE: "System error." ACTION: "Contact Huawei Engineer." ERRMSG: "Fail to generate subquery plan." SQLSTATE: XX005 CAUSE: "System error." ACTION: "Contact Huawei Engineer." ERRMSG: "Unrecognized node type when processing qual condition." SQLSTATE: XX004 CAUSE: "System error." ACTION: "Contact Huawei Engineer." ERRMSG: "Unrecognized node type when processing const parameters." SQLSTATE: XX004 CAUSE: "System error." ACTION: "Contact Huawei Engineer." ERRMSG: "SELECT FOR UPDATE/SHARE is not allowed with UNION/INTERSECT/EXCEPT" SQLSTATE: 0A000 CAUSE: "SQL uses unsupported feature." ACTION: "Modify SQL statement according to the manual." ERRMSG: "GROUP BY cannot be implemented." SQLSTATE: 0A000 CAUSE: "GROUP BY uses unsupported datatypes." ACTION: "Modify SQL statement according to the manual." ERRMSG: "Unrecognized node type when extracting index." SQLSTATE: XX004 CAUSE: "System error." ACTION: "Contact Huawei Engineer." ERRMSG: "Ordering operator cannot be identified." SQLSTATE: 42883 CAUSE: "Grouping set columns must be able to sort their inputs." ACTION: "Modify SQL statement according to the manual." ERRMSG: "DISTINCT cannot be implemented." SQLSTATE: 0A000 CAUSE: "DISTINCT uses unsupported datatypes." ACTION: "Modify SQL statement according to the manual." ERRMSG: "Failed to locate grouping columns." SQLSTATE: 55000 CAUSE: "System error." ACTION: "Contact Huawei Engineer." ERRMSG: "Resjunk output columns are not implemented." SQLSTATE: 20000 CAUSE: "System error." ACTION: "Contact Huawei Engineer." ERRMSG: "PARTITION BY cannot be implemented." SQLSTATE: 0A000 CAUSE: "PARTITION BY uses unsupported datatypes." ACTION: "Modify SQL statement according to the manual." ERRMSG: "ORDER BY cannot be implemented." SQLSTATE: 0A000 CAUSE: "ORDER BY uses unsupported datatypes." ACTION: "Modify SQL statement according to the manual." ERRMSG: "Failed to deconstruct sort operators into partitioning/ordering operators." SQLSTATE: D0011 CAUSE: "System error." ACTION: "Contact Huawei Engineer." ERRMSG: "Pool size should not be zero" SQLSTATE: 22012 CAUSE: "Compute pool configuration file contains error." ACTION: "Please check the value of 'pl' in cp_client.conf." ERRMSG: "Failed to get the runtime info from the compute pool." SQLSTATE: 22004 CAUSE: "System error." ACTION: "Contact Huawei Engineer." ERRMSG: "Version is not compatible between local cluster and the compute pool." SQLSTATE: XX008 CAUSE: "Compute pool is not installed appropriately." ACTION: "Configure compute pool according to manual." ERRMSG: "No optional index path is found." SQLSTATE: 01000 CAUSE: "System error." ACTION: "Contact Huawei Engineer." ERRMSG: "MERGE INTO on replicated table does not yet support using distributed tables." SQLSTATE: 0A000 CAUSE: "SQL uses unsupported feature." ACTION: "Modify SQL statement according to the manual." ERRMSG: "Fail to find ForeignScan node!" SQLSTATE: P0002 CAUSE: "System error." ACTION: "Contact Huawei Engineer." ERRMSG: "sql advisor don't support none table, temp table, system table." SQLSTATE: 42601 CAUSE: "sql advisor don't support none table, temp table, system table." ACTION: "check query component" ERRMSG: "Invalid autonomous transaction return datatypes" SQLSTATE: P0000 CAUSE: "PL/SQL uses unsupported feature." ACTION: "Contact Huawei Engineer." ERRMSG: "new row for relation '%s' violates check constraint '%s'" SQLSTATE: 23514 CAUSE: "some rows copy failed" ACTION: "check table defination" ERRMSG: "new row for relation '%s' violates check constraint '%s'" SQLSTATE: 23514 CAUSE: "some rows copy failed" ACTION: "set client_min_messages = info for more details" ERRMSG: "get gauss home path is NULL" SQLSTATE: XX005 CAUSE: "gauss home path not set" ACTION: "check if $GAUSSHOME is exist" ERRMSG: "unable to open kms_iam_info.json file" SQLSTATE: 58P03 CAUSE: "file not exist or broken" ACTION: "check the kms_iam_info.json file" ERRMSG: "can not get password plaintext" SQLSTATE: XX005 CAUSE: "file not exist or broken" ACTION: "check the password cipher rand file" ERRMSG: " IAM info json key is NULL" SQLSTATE: XX005 CAUSE: "IAM info value error" ACTION: "check tde_config kms_iam_info.json file" ERRMSG: "get internal password is NULL" SQLSTATE: XX005 CAUSE: "cipher rand file missing" ACTION: "check password cipher rand file" ERRMSG: "KMS info json key is NULL" SQLSTATE: XX005 CAUSE: "KMS info value error" ACTION: "check tde_config kms_iam_info.json file" ERRMSG: "unable to get json file" SQLSTATE: 58P03 CAUSE: "parse json file failed" ACTION: "check the kms_iam_info.json file format" ERRMSG: "get JSON tree is NULL" SQLSTATE: XX005 CAUSE: "get KMS JSON tree failed" ACTION: "check input prarmeter or config.ini file" ERRMSG: "failed to get json tree" SQLSTATE: XX005 CAUSE: "config.ini json tree error" ACTION: "check input prarmeter or config.ini file" ERRMSG: "failed to set the value of json tree" SQLSTATE: XX005 CAUSE: "config.ini json tree error" ACTION: "check input prarmeter or config.ini file" ERRMSG: "http request failed" SQLSTATE: XX005 CAUSE: "http request error" ACTION: "check KMS or IAM connect or config parameter" ERRMSG: "get iam token or iam agency token is NULL" SQLSTATE: XX005 CAUSE: "connect IAM failed" ACTION: "check if your env can connect with IAM server" ERRMSG: "KMS dek json key is NULL" SQLSTATE: XX005 CAUSE: "KMS return value error" ACTION: "check KMS config paramenter" ERRMSG: "get kms dek is NULL" SQLSTATE: XX005 CAUSE: "connect KMS failed" ACTION: "check if your env can connect with KMS server" ERRMSG: "get http header is NULL" SQLSTATE: XX005 CAUSE: "http request failed" ACTION: "check IAM config parameter" ERRMSG: "create KMS dek failed" SQLSTATE: XX005 CAUSE: "KMS error" ACTION: "check KMS connect or config parameter" ERRMSG: "get KMS dek failed" SQLSTATE: XX005 CAUSE: "KMS error" ACTION: "check KMS connect or config parameter" ERRMSG: "get KMS DEK is NULL" SQLSTATE: XX005 CAUSE: "get KMS dek_plaintext failed" ACTION: "check KMS network or cipher is right" ERRMSG: "create matview with TDE failed" SQLSTATE: 0A000 CAUSE: "TDE feature is not supported for Create materialized views" ACTION: "check CREATE syntax about create the materialized views" ERRMSG: "failed to add item to the index page" SQLSTATE: XX002 CAUSE: "System error." ACTION: "Check WARNINGS for the details." ERRMSG: "index row size %lu exceeds maximum %lu for index '%s'" SQLSTATE: 54000 CAUSE: "Values larger than 1/3 of a buffer page cannot be indexed." ACTION: "Consider a function index of an MD5 hash of the value, or use full text indexing." ERRMSG: "fail to insert a tuple to an orderd index, the ordered tuple list is corrupted" SQLSTATE: XX002 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "Tag field is too long." SQLSTATE: 54000 CAUSE: "Tag buffer overflow." ACTION: "Shorten tag Key." 父主题: 错误日志信息参考
-
javax.sql.DataSource javax.sql.DataSource是数据源接口。 表1 对javax.sql.DataSource接口的支持情况 方法名 返回值类型 支持JDBC 4 getConneciton() Connection Yes getConnection(String username,String password) Connection Yes getLoginTimeout() int Yes getLogWriter() PrintWriter Yes setLoginTimeout(int seconds) void Yes setLogWriter(PrintWriter out) void Yes 父主题: JDBC接口参考
-
JDBC JDBC接口是一套提供给用户的API方法,本节将对部分常用接口做具体描述,若涉及其他接口可参考JDK1.8(软件包)/JDBC4.0中相关内容。 java.sql.Connection java.sql.CallableStatement java.sql.DatabaseMetaData java.sql.Driver java.sql.PreparedStatement java.sql.ResultSet java.sql.ResultSetMetaData java.sql.Statement javax.sql.ConnectionPoolDataSource javax.sql.DataSource javax.sql.PooledConnection javax.naming.Context javax.naming.spi.InitialContextFactory CopyManager PGReplicationConnection PGReplicationStream ChainedStreamBuilder ChainedCommonStreamBuilder 父主题: 接口参考
-
内核错误信息 ERRMSG: "unsupported syntax: ENCRYPTED WITH in this operation" SQLSTATE: 42601 CAUSE: "client encryption feature is not supported this operation." ACTION: "Check client encryption feature whether supported this operation." ERRMSG: "invalid grant operation" SQLSTATE: 0LP01 CAUSE: "Grant options cannnot be granted to public." ACTION: "Grant grant options to roles." ERRMSG: "unrecognized object kind: %d" SQLSTATE: XX004 CAUSE: "The object type is not supported for GRANT/REVOKE." ACTION: "Check GRANT/REVOKE syntax to obtain the supported object types." ERRMSG: "unrecognized GrantStmt.targtype: %d" SQLSTATE: XX004 CAUSE: "The target type is not supported for GRANT/REVOKE." ACTION: "Check GRANT/REVOKE syntax to obtain the supported target types." ERRMSG: "invalid grant operation" SQLSTATE: 0LP01 CAUSE: "Grant to public operation is forbidden in security mode." ACTION: "Don't grant to public in security mode." ERRMSG: "unrecognized object type" SQLSTATE: XX004 CAUSE: "The object type is not supported for GRANT/REVOKE." ACTION: "Check GRANT/REVOKE syntax to obtain the supported object types." ERRMSG: "invalid grant/revoke operation" SQLSTATE: 0LP01 CAUSE: "Column privileges are only valid for relations in GRANT/REVOKE." ACTION: "Use the column privileges only for relations." ERRMSG: "invalid AccessPriv node" SQLSTATE: 0LP01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "unrecognized GrantStmt.objtype: %d" SQLSTATE: XX004 CAUSE: "The object type is not supported for GRANT/REVOKE." ACTION: "Check GRANT/REVOKE syntax to obtain the supported object types." ERRMSG: "undefined client master key" SQLSTATE: 42705 CAUSE: "The client master key does not exist." ACTION: "Check whether the client master key exists." ERRMSG: "undefined column encryption key" SQLSTATE: 42705 CAUSE: "The column encryption key does not exist." ACTION: "Check whether the column encryption key exists." ERRMSG: "large object %u does not exist" SQLSTATE: 42704 CAUSE: "The large object does not exist." ACTION: "Check whether the large object exists." ERRMSG: "redundant options" SQLSTATE: 42601 CAUSE: "The syntax 'schemas' is redundant in ALTER DEFAULT PRIVILEGES statement." ACTION: "Check ALTER DEFAULT PRIVILEGES syntax." ERRMSG: "redundant options" SQLSTATE: 42601 CAUSE: "The syntax 'roles' is redundant in ALTER DEFAULT PRIVILEGES statement." ACTION: "Check ALTER DEFAULT PRIVILEGES syntax." ERRMSG: "option '%s' not recognized" SQLSTATE: 42601 CAUSE: "The option in ALTER DEFAULT PRIVILEGES statement is not supported." ACTION: "Check ALTER DEFAULT PRIVILEGES syntax." ERRMSG: "unrecognized GrantStmt.objtype: %d" SQLSTATE: XX004 CAUSE: "The object type is not supported for ALTER DEFAULT PRIVILEGES." ACTION: "Check ALTER DEFAULT PRIVILEGES syntax to obtain the supported object types." ERRMSG: "invalid alter default privileges operation" SQLSTATE: 0LP01 CAUSE: "Default privileges cannot be set for columns." ACTION: "Check ALTER DEFAULT PRIVILEGES syntax." ERRMSG: "unrecognized objtype: %d" SQLSTATE: XX004 CAUSE: "The object type is not supported for default privileges." ACTION: "Check ALTER DEFAULT PRIVILEGES syntax to obtain the supported object types." ERRMSG: "could not find tuple for default ACL %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "unexpected default ACL type: %d" SQLSTATE: 0LP01 CAUSE: "The object type is not supported for default privilege." ACTION: "Check ALTER DEFAULT PRIVILEGES syntax to obtain the supported object types." ERRMSG: "invalid object id" SQLSTATE: 0LP01 CAUSE: "The object type is not supported for GRANT/REVOKE." ACTION: "Check GRANT/REVOKE syntax to obtain the supported object types." ERRMSG: "undefined column" SQLSTATE: 42703 CAUSE: "The column of the relation does not exist." ACTION: "Check whether the column exists." ERRMSG: "column number out of range" SQLSTATE: 0LP01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "cache lookup failed for attribute %d of relation %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "cache lookup failed for relation %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "unsupported object type" SQLSTATE: 42809 CAUSE: "Index type is not supported for GRANT/REVOKE." ACTION: "Check GRANT/REVOKE syntax to obtain the supported object types." ERRMSG: "unsupported object type" SQLSTATE: 42809 CAUSE: "Composite type is not supported for GRANT/REVOKE." ACTION: "Check GRANT/REVOKE syntax to obtain the supported object types." ERRMSG: "wrong object type" SQLSTATE: 42809 CAUSE: "GRANT/REVOKE SEQUENCE only support sequence objects." ACTION: "Check GRANT/REVOKE syntax to obtain the supported object types." ERRMSG: "invalid privilege type USAGE for table" SQLSTATE: 0LP01 CAUSE: "GRANT/REVOKE TABLE do not support USAGE privilege." ACTION: "Check GRANT/REVOKE syntax to obtain the supported privilege types for tables." ERRMSG: "invalid privilege type %s for column" SQLSTATE: 0LP01 CAUSE: "The privilege type is not supported for column object." ACTION: "Check GRANT/REVOKE syntax to obtain the supported privilege types for column object." ERRMSG: "cache lookup failed for database %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "cache lookup failed for foreign-data wrapper %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "cache lookup failed for foreign server %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "cache lookup failed for function %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "cache lookup failed for language %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "Grant/revoke on untrusted languages if forbidden." SQLSTATE: 0LP01 CAUSE: "Grant/revoke on untrusted languages if forbidden." ACTION: "Support grant/revoke on trusted C languages" ERRMSG: "cache lookup failed for large object %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "cache lookup failed for namespace %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "cache lookup failed for tablespace %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "cache lookup failed for type %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "cannot set privileges of array types" SQLSTATE: 0LP01 CAUSE: "Cannot set privileges of array types." ACTION: "Set the privileges of the element type instead." ERRMSG: "wrong object type" SQLSTATE: 42809 CAUSE: "GRANT/REVOKE DOMAIN only support domain objects." ACTION: "Check GRANT/REVOKE syntax to obtain the supported object types." ERRMSG: "cache lookup failed for client master key %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "cache lookup failed for column encryption key %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "cache lookup failed for directory %u" SQLSTATE: 29P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "unrecognized privilege type '%s'" SQLSTATE: 42601 CAUSE: "The privilege type is not supported." ACTION: "Check GRANT/REVOKE syntax to obtain the supported privilege types." ERRMSG: "unrecognized privilege: %d" SQLSTATE: XX004 CAUSE: "The privilege type is not supported." ACTION: "Check GRANT/REVOKE syntax to obtain the supported privilege types." ERRMSG: "unrecognized AclResult" SQLSTATE: XX004 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "permission denied for column '%s' of relation '%s'" SQLSTATE: 42501 CAUSE: "Insufficient privileges for the column." ACTION: "Select the system tables to get the acl of the column." ERRMSG: "role with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "unrecognized objkind: %d" SQLSTATE: XX004 CAUSE: "The object type is not supported for privilege check." ACTION: "Check GRANT/REVOKE syntax to obtain the supported object types." ERRMSG: "attribute %d of relation with OID %u does not exist" SQLSTATE: 42703 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "the column has been dropped" SQLSTATE: 42703 CAUSE: "The column does not exist." ACTION: "Check whether the column exists." ERRMSG: "relation with OID %u does not exist" SQLSTATE: 42P01 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "invalid group" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "database with OID %u does not exist" SQLSTATE: 3D000 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "directory with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "function with OID %u does not exist" SQLSTATE: 42883 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "client master key with OID %u does not exist" SQLSTATE: 42705 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "language with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "large object %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "schema with OID %u does not exist" SQLSTATE: 3F001 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "tablespace with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "foreign-data wrapper with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "foreign server with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "type with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "operator with OID %u does not exist" SQLSTATE: 42883 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "column encryption key with OID %u does not exist" SQLSTATE: 42705 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "operator class with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "operator family with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "text search dictionary with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "text search configuration with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "collation with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "conversion with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "synonym with OID %u does not exist" SQLSTATE: 42704 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "package can not create the same name with schema." SQLSTATE: 22023 CAUSE: "Package name conflict" ACTION: "Please rename package name" ERRMSG: "type is not exists %s." SQLSTATE: 22023 CAUSE: "System error." ACTION: "Contact Huawei Engineer." ERRMSG: "This input type is not supported for tdigest_in()" SQLSTATE: 0A000 CAUSE: "input type is not supported" ACTION: "Check tdigest_in syntax to obtain the supported privilege types" ERRMSG: "Failed to apply for memory" SQLSTATE: 53200 CAUSE: "palloc failed" ACTION: "Check memory" ERRMSG: "Failed to get tde info from relation '%s'." SQLSTATE: XX005 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "SPI_connect failed: %s" SQLSTATE: SP001 CAUSE: "System error." ACTION: "Analyze the error message before the error" ERRMSG: "permission denied for terminate snapshot thread" SQLSTATE: 42501 CAUSE: "The user does not have system admin privilege" ACTION: "Grant system admin to user" ERRMSG: "terminate snapshot thread failed" SQLSTATE: OP001 CAUSE: "Execution failed due to: %s" ACTION: "check if snapshot thread exists" ERRMSG: "terminate snapshot thread failed" SQLSTATE: OP001 CAUSE: "restart wdr snapshot thread timeoutor The thread did not respond to the kill signal" ACTION: "Check the wdr snapshot thread is restarted" ERRMSG: "set lockwait_timeout failed" SQLSTATE: XX000 CAUSE: "System error." ACTION: "Contact engineer to support." ERRMSG: "permission denied for create WDR Snapshot" SQLSTATE: 42501 CAUSE: "The user does not have system admin privilege" ACTION: "Grant system admin to user" ERRMSG: "WDR snapshot request can not be accepted, please retry later" SQLSTATE: OP001 CAUSE: "wdr snapshot thread does not exist" ACTION: "Check if wdr snapshot thread exists" ERRMSG: "Cannot respond to WDR snapshot request" SQLSTATE: OP001 CAUSE: "Execution failed due to: %s" ACTION: "Check if wdr snapshot thread exists" ERRMSG: "query(%s) can not get datum values" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the query can be executed" ERRMSG: "create sequence failed" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check if sequence can be created" ERRMSG: "update snapshot end time stamp filled" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the snapshot retry is successful" ERRMSG: "query can not get datum values" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the query can be executed" ERRMSG: "SPI_connect failed: %s" SQLSTATE: XX000 CAUSE: "System error." ACTION: "Check whether the snapshot retry is successful" ERRMSG: "query(%s) execute failed" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the snapshot retry is successful" ERRMSG: "clean table of snap_%s is failed" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the snapshot retry is successful" ERRMSG: "analyze table failed" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the snapshot retry is successful" ERRMSG: "insert into tables_snap_timestamp start time stamp is failed" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the snapshot retry is successful" ERRMSG: "insert data failed" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the snapshot retry is successful and check whether the query can be executed" ERRMSG: "update tables_snap_timestamp end time stamp is failed" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the snapshot retry is successful" ERRMSG: "clean snapshot id %lu is failed in snapshot table" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the snapshot retry is successful and check whether the query can be executed" ERRMSG: "clean snapshot failed" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the snapshot retry is successful" ERRMSG: "can not create snapshot stat table" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the query can be executed" ERRMSG: "create WDR snapshot data table failed" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the query can be executed" ERRMSG: "insert into tables_snap_timestamp start time stamp failed" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the query can be executed" ERRMSG: "insert into snap_%s is failed" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the query can be executed" ERRMSG: "update tables_snap_timestamp end time stamp failed" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the query can be executed" ERRMSG: "create index failed" SQLSTATE: 22000 CAUSE: "System error." ACTION: "Check whether the query can be executed" ERRMSG: "analyze table, connection failed: %s" SQLSTATE: XX000 CAUSE: "System error." ACTION: "Check whether the snapshot retry is successful" ERRMSG: "snapshot thread SPI_connect failed: %s" SQLSTATE: XX000 CAUSE: "System error." ACTION: "Check whether the snapshot retry is successful" ERRMSG: "Distributed key column can't be transformed" SQLSTATE: 42P10 CAUSE: "There is a risk of violating uniqueness when transforming distribution columns." ACTION: "Change transform column." ERRMSG: "cannot convert %s to %s" SQLSTATE: 42804 CAUSE: "There is no conversion path in pg_cast." ACTION: "Rewrite or cast the expression." ERRMSG: "create matview on TDE table failed" SQLSTATE: 0A000 CAUSE: "create materialized views is not supported on TDE table" ACTION: "check CREATE syntax about create the materialized views" ERRMSG: "schema name can not same as package" SQLSTATE: 22023 CAUSE: "schema name conflict" ACTION: "rename schema name" ERRMSG: "Unrecognized commandType when checking read-only attribute." SQLSTATE: XX004 CAUSE: "System error." ACTION: "Contact Huawei Engineer." ERRMSG: "Fail to generate subquery plan." SQLSTATE: XX005 CAUSE: "System error." ACTION: "Contact Huawei Engineer." ERRMSG: "Unrecognized node type when processing qual condition." SQLSTATE: XX004 CAUSE: "System error." ACTION: "Contact Huawei Engineer." ERRMSG: "Unrecognized node type when processing const parameters." SQLSTATE: XX004 CAUSE: "System error." ACTION: "Contact Huawei Engineer." ERRMSG: "SELECT FOR UPDATE/SHARE is not allowed with UNION/INTERSECT/EXCEPT" SQLSTATE: 0A000 CAUSE: "SQL uses unsupported feature." ACTION: "Modify SQL statement according to the manual." ERRMSG: "GROUP BY cannot be implemented." SQLSTATE: 0A000 CAUSE: "GROUP BY uses unsupported datatypes." ACTION: "Modify SQL statement according to the manual." ERRMSG: "TSDB functions cannot be used if enable_tsdb is off." SQLSTATE: D0011 CAUSE: "Functions are not loaded." ACTION: "Turn on enable_tsdb according to manual." ERRMSG: "Unrecognized node type when extracting index." SQLSTATE: XX004 CAUSE: "System error." ACTION: "Contact Huawei Engineer." ERRMSG: "Ordering operator cannot be identified." SQLSTATE: 42883 CAUSE: "Grouping set columns must be able to sort their inputs." ACTION: "Modify SQL statement according to the manual." ERRMSG: "DISTINCT cannot be implemented." SQLSTATE: 0A000 CAUSE: "DISTINCT uses unsupported datatypes." ACTION: "Modify SQL statement according to the manual." ERRMSG: "Failed to locate grouping columns." SQLSTATE: 55000 CAUSE: "System error." ACTION: "Contact Huawei Engineer." ERRMSG: "Resjunk output columns are not implemented." SQLSTATE: 20000 CAUSE: "System error." ACTION: "Contact Huawei Engineer." ERRMSG: "PARTITION BY cannot be implemented." SQLSTATE: 0A000 CAUSE: "PARTITION BY uses unsupported datatypes." ACTION: "Modify SQL statement according to the manual." ERRMSG: "ORDER BY cannot be implemented." SQLSTATE: 0A000 CAUSE: "ORDER BY uses unsupported datatypes." ACTION: "Modify SQL statement according to the manual." ERRMSG: "Failed to deconstruct sort operators into partitioning/ordering operators." SQLSTATE: D0011 CAUSE: "System error." ACTION: "Contact Huawei Engineer." ERRMSG: "Pool size should not be zero" SQLSTATE: 22012 CAUSE: "Compute pool configuration file contains error." ACTION: "Please check the value of 'pl' in cp_client.conf." ERRMSG: "Failed to get the runtime info from the compute pool." SQLSTATE: 22004 CAUSE: "System error." ACTION: "Contact Huawei Engineer." ERRMSG: "Version is not compatible between local cluster and the compute pool." SQLSTATE: XX008 CAUSE: "Compute pool is not installed appropriately." ACTION: "Configure compute pool according to manual." ERRMSG: "No optional index path is found." SQLSTATE: 01000 CAUSE: "System error." ACTION: "Contact Huawei Engineer." ERRMSG: "MERGE INTO on replicated table does not yet support using distributed tables." SQLSTATE: 0A000 CAUSE: "SQL uses unsupported feature." ACTION: "Modify SQL statement according to the manual." ERRMSG: "Fail to find ForeignScan node!" SQLSTATE: P0002 CAUSE: "System error." ACTION: "Contact Huawei Engineer." ERRMSG: "sql advisor don't support none table, temp table, system table." SQLSTATE: 42601 CAUSE: "sql advisor don't support none table, temp table, system table." ACTION: "check query component" ERRMSG: "Invalid autonomous transaction return datatypes" SQLSTATE: P0000 CAUSE: "PL/SQL uses unsupported feature." ACTION: "Contact Huawei Engineer." ERRMSG: "new row for relation '%s' violates check constraint '%s'" SQLSTATE: 23514 CAUSE: "some rows copy failed" ACTION: "check table defination" ERRMSG: "new row for relation '%s' violates check constraint '%s'" SQLSTATE: 23514 CAUSE: "some rows copy failed" ACTION: "set client_min_messages = info for more details" ERRMSG: "get gauss home path is NULL" SQLSTATE: XX005 CAUSE: "gauss home path not set" ACTION: "check if $GAUSSHOME is exist" ERRMSG: "unable to open kms_iam_info.json file" SQLSTATE: 58P03 CAUSE: "file not exist or broken" ACTION: "check the kms_iam_info.json file" ERRMSG: "can not get password plaintext" SQLSTATE: XX005 CAUSE: "file not exist or broken" ACTION: "check the password cipher rand file" ERRMSG: "IAM info json key is NULL" SQLSTATE: XX005 CAUSE: "IAM info value error" ACTION: "check tde_config kms_iam_info.json file" ERRMSG: "get internal password is NULL" SQLSTATE: XX005 CAUSE: "cipher rand file missing" ACTION: "check password cipher rand file" ERRMSG: "KMS info json key is NULL" SQLSTATE: XX005 CAUSE: "KMS info value error" ACTION: "check tde_config kms_iam_info.json file" ERRMSG: "unable to get json file" SQLSTATE: 58P03 CAUSE: "parse json file failed" ACTION: "check the kms_iam_info.json file format" ERRMSG: "get JSON tree is NULL" SQLSTATE: XX005 CAUSE: "get KMS JSON tree failed" ACTION: "check input prarmeter or config.ini file" ERRMSG: "failed to get json tree" SQLSTATE: XX005 CAUSE: "config.ini json tree error" ACTION: "check input prarmeter or config.ini file" ERRMSG: "failed to set the value of json tree" SQLSTATE: XX005 CAUSE: "config.ini json tree error" ACTION: "check input prarmeter or config.ini file" ERRMSG: "http request failed" SQLSTATE: XX005 CAUSE: "http request error" ACTION: "check KMS or IAM connect or config parameter" ERRMSG: "get iam token or iam agency token is NULL" SQLSTATE: XX005 CAUSE: "connect IAM failed" ACTION: "check if your env can connect with IAM server" ERRMSG: "KMS dek json key is NULL" SQLSTATE: XX005 CAUSE: "KMS return value error" ACTION: "check KMS config paramenter" ERRMSG: "get kms dek is NULL" SQLSTATE: XX005 CAUSE: "connect KMS failed" ACTION: "check if your env can connect with KMS server" ERRMSG: "get http header is NULL" SQLSTATE: XX005 CAUSE: "http request failed" ACTION: "check IAM config parameter" ERRMSG: "create KMS dek failed" SQLSTATE: XX005 CAUSE: "KMS error" ACTION: "check KMS connect or config parameter" ERRMSG: "get KMS dek failed" SQLSTATE: XX005 CAUSE: "KMS error" ACTION: "check KMS connect or config parameter" ERRMSG: "get KMS DEK is NULL" SQLSTATE: XX005 CAUSE: "get KMS dek_plaintext failed" ACTION: "check KMS network or cipher is right" ERRMSG: "create matview with TDE failed" SQLSTATE: 0A000 CAUSE: "TDE feature is not supported for Create materialized views" ACTION: "check CREATE syntax about create the materialized views" ERRMSG: "failed to add item to the index page" SQLSTATE: XX002 CAUSE: "System error." ACTION: "Check WARNINGS for the details." ERRMSG: "index row size %lu exceeds maximum %lu for index '%s'" SQLSTATE: 54000 CAUSE: "Values larger than 1/3 of a buffer page cannot be indexed." ACTION: "Consider a function index of an MD5 hash of the value, or use full text indexing." 父主题: 错误日志信息参考
-
什么是SQL SQL是用于访问和处理数据库的标准计算机语言。 SQL提供了各种任务的语句,包括: 查询数据。 在表中插入、更新和删除行。 创建、替换、更改和删除对象。 控制对数据库及其对象的访问。 保证数据库的一致性和完整性。 SQL语言由用于处理数据库和数据库对象的命令和函数组成。该语言还会强制实施有关数据类型、表达式和文本使用的规则。因此在SQL参考章节,除了SQL语法参考外,还会看到有关数据类型、表达式、函数和操作符等信息。
-
SQL发展简史 SQL发展简史如下: 1986年,ANSI X3.135-1986,ISO/IEC 9075:1986,SQL-86 1989年,ANSI X3.135-1989,ISO/IEC 9075:1989,SQL-89 1992年,ANSI X3.135-1992,ISO/IEC 9075:1992,SQL-92(SQL2) 1999年,ISO/IEC 9075:1999,SQL:1999(SQL3) 2003年,ISO/IEC 9075:2003,SQL:2003(SQL4) 2011年,ISO/IEC 9075:200N,SQL:2011(SQL5)
-
参数说明 参数 参数说明 ctx 表示给定的上下文。 query 被执行的sql语句。 args 被执行sql语句需要绑定的参数。支持按位置绑定和按名称绑定,详情见如下示例。 opts 事务隔离级别和事务访问模式,其中事务隔离级别(opts.Isolation)支持范围为sql.LevelReadUncommitted,sql.LevelReadCommitted,sql.LevelRepeatableRead,sql.LevelSerializable。事务访问模式(opts.ReadOnly)支持范围为true(read only)和false(read write)。
-
参数 表1 psycopg2.connect参数 关键字 参数说明 dbname 数据库名称。 user 用户名。 password 密码。 host 数据库IP地址,默认为UNIX socket类型。 port 连接端口号,默认为5432。 sslmode ssl模式,ssl连接时用。 sslcert 客户端证书路径,ssl连接时用。 sslkey 客户端密钥路径,ssl连接时用。 sslrootcert 根证书路径,ssl连接时用。 hostaddr 数据库IP地址。 connect_timeout 客户端连接超时时间。 client_encoding 客户端编码格式。 application_name application_name的参数值。 fallback_application_name application_name参数的回退值。 keepalives 控制是否客户端tcp保持连接,默认为1,表示打开;值为0时,表示关闭。若UNIX域套接字连接,则忽略。 options 连接开始时发送给服务器的命令行选项。 keepalives_idle 控制向服务器发送keepalive消息之前不活动的描述,若keepalive被禁用,则忽略此参数。 keepalives_interval 控制未得到服务器确认的keepalive消息应重新传输的描述,若keepalive被禁用,则忽略此参数。 keepalives_count 控制客户端与服务端连接断开之前可能丢失的tcp保持连接的数量。 replication 确认连接使用的是复制协议而不是普通协议。 requiressl 支持sslmode设置。 sslcompression ssl压缩。设置为1,则通过ssl连接发送的数据将被压缩;设置为0,则禁用压缩。若没有建立ssl的连接,则忽略此参数。 sslcrl 证书吊销列表文件路径,验证ssl服务端证书是否可用。 requirepeer 指定服务器的操作系统用户名。
-
数据库连接控制函数 数据库连接控制函数控制与数据库服务器的连接。一个应用程序一次可以与多个服务器建立连接,如一个客户端连接多个数据库的场景。每个连接都是用一个从函数PQconnectdb、PQconnectdbParams或PQsetdbLogin获得的PGconn对象表示。注意,这些函数总是返回一个非空的对象指针,除非内存分配失败,会返回一个空的指针。连接建立的接口保存在PGconn对象中,可以调用PQstatus函数来检查返回值看看连接是否成功。 PQconnectdbParams PQconnectdb PQconninfoParse PQconnectStart PQerrorMessage PQsetdbLogin PQfinish PQreset PQstatus 父主题: libpq接口参考
-
参数 表1 SQLAllocHandle参数 关键字 参数说明 HandleType 由SQLAllocHandle分配的句柄类型。必须为下列值之一: SQL_HANDLE_ENV(环境句柄) SQL_HANDLE_DBC(连接句柄) SQL_HANDLE_STMT(语句句柄) SQL_HANDLE_DESC(描述句柄) 申请句柄顺序为,先申请环境句柄,再申请连接句柄,最后申请语句句柄,后申请的句柄都要依赖它前面申请的句柄。 InputHandle 将要分配的新句柄的类型。 如果HandleType为SQL_HANDLE_ENV,则这个值为SQL_NULL_HANDLE。 如果HandleType为SQL_HANDLE_DBC,则这一定是一个环境句柄。 如果HandleType为SQL_HANDLE_STMT或SQL_HANDLE_DESC,则它一定是一个连接句柄。 OutputHandlePtr 输出参数:一个缓冲区的指针,此缓冲区以新分配的数据结构存放返回的句柄。
-
注意事项 当分配的句柄并非环境句柄时,如果SQLAllocHandle返回的值为SQL_ERROR,则它会将OutputHandlePtr的值设置为SQL_NULL_HDBC、SQL_NULL_HSTMT或SQL_NULL_HDESC。之后,通过调用带有适当参数的SQLGetDiagRec,其中HandleType和Handle被设置为IntputHandle的值,可得到相关的SQLSTATE值,通过SQLSTATE值可以查出调用此函数的具体信息。
-
java.sql.DatabaseMetaData java.sql.DatabaseMetaData是数据库对象定义接口。 表1 对java.sql.DatabaseMetaData的支持情况 方法名 返回值类型 支持JDBC 4 allProceduresAreCallable() boolean Yes allTablesAreSelectable() boolean Yes autoCommitFailureClosesAllResultSets() boolean Yes dataDefinitionCausesTransactionCommit() boolean Yes dataDefinitionIgnoredInTransactions() boolean Yes deletesAreDetected(int type) boolean Yes doesMaxRowSizeIncludeBlobs() boolean Yes generatedKeyAlwaysReturned() boolean Yes getBestRowIdentifier(String catalog, String schema, String table, int scope, boolean nullable) ResultSet Yes getCatalogs() ResultSet Yes getCatalogSeparator() String Yes getCatalogTerm() String Yes getClientInfoProperties() ResultSet Yes getColumnPrivileges(String catalog, String schema, String table, String columnNamePattern) ResultSet Yes getConnection() Connection Yes getCrossReference(String parentCatalog, String parentSchema, String parentTable, String foreignCatalog, String foreignSchema, String foreignTable) ResultSet Yes getDefaultTransactionIsolation() int Yes getExportedKeys(String catalog, String schema, String table) ResultSet Yes getExtraNameCharacters() String Yes getFunctionColumns(String catalog, String schemaPattern, String functionNamePattern, String columnNamePattern) ResultSet Yes getFunctions(String catalog, String schemaPattern, String functionNamePattern) ResultSet Yes getIdentifierQuoteString() String Yes getImportedKeys(String catalog, String schema, String table) ResultSet Yes getIndexInfo(String catalog, String schema, String table, boolean unique, boolean approximate) ResultSet Yes getMaxBinaryLiteralLength() int Yes getMaxCatalogNameLength() int Yes getMaxCharLiteralLength() int Yes getMaxColumnNameLength() int Yes getMaxColumnsInGroupBy() int Yes getMaxColumnsInIndex() int Yes getMaxColumnsInOrderBy() int Yes getMaxColumnsInSelect() int Yes getMaxColumnsInTable() int Yes getMaxConnections() int Yes getMaxCursorNameLength() int Yes getMaxIndexLength() int Yes getMaxLogicalLobSize() default long Yes getMaxProcedureNameLength() int Yes getMaxRowSize() int Yes getMaxSchemaNameLength() int Yes getMaxStatementLength() int Yes getMaxStatements() int Yes getMaxTableNameLength() int Yes getMaxTablesInSelect() int Yes getMaxUserNameLength() int Yes getNumericFunctions() String Yes getPrimaryKeys(String catalog, String schema, String table) ResultSet Yes getPartitionTablePrimaryKeys(String catalog, String schema, String table) ResultSet Yes getProcedureColumns(String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern) ResultSet Yes getProcedures(String catalog, String schemaPattern, String procedureNamePattern) ResultSet Yes getProcedureTerm() String Yes getSchemas() ResultSet Yes getSchemas(String catalog, String schemaPattern) ResultSet Yes getSchemaTerm() String Yes getSearchStringEscape() String Yes getSQLKeywords() String Yes getSQLStateType() int Yes getStringFunctions() String Yes getSystemFunctions() String Yes getTablePrivileges(String catalog, String schemaPattern, String tableNamePattern) ResultSet Yes getTimeDateFunctions() String Yes getTypeInfo() ResultSet Yes getUDTs(String catalog, String schemaPattern, String typeNamePattern, int[] types) ResultSet Yes getURL() String Yes getVersionColumns(String catalog, String schema, String table) ResultSet Yes insertsAreDetected(int type) boolean Yes locatorsUpdateCopy() boolean Yes othersDeletesAreVisible(int type) boolean Yes othersInsertsAreVisible(int type) boolean Yes othersUpdatesAreVisible(int type) boolean Yes ownDeletesAreVisible(int type) boolean Yes ownInsertsAreVisible(int type) boolean Yes ownUpdatesAreVisible(int type) boolean Yes storesLowerCaseIdentifiers() boolean Yes storesMixedCaseIdentifiers() boolean Yes storesUpperCaseIdentifiers() boolean Yes supportsBatchUpdates() boolean Yes supportsCatalogsInDataManipulation() boolean Yes supportsCatalogsInIndexDefinitions() boolean Yes supportsCatalogsInPrivilegeDefinitions() boolean Yes supportsCatalogsInProcedureCalls() boolean Yes supportsCatalogsInTableDefinitions() boolean Yes supportsCorrelatedSubqueries() boolean Yes supportsDataDefinitionAndDataManipulationTransactions() boolean Yes supportsDataManipulationTransactionsOnly() boolean Yes supportsGetGeneratedKeys() boolean Yes supportsMixedCaseIdentifiers() boolean Yes supportsMultipleOpenResults() boolean Yes supportsNamedParameters() boolean Yes supportsOpenCursorsAcrossCommit() boolean Yes supportsOpenCursorsAcrossRollback() boolean Yes supportsOpenStatementsAcrossCommit() boolean Yes supportsOpenStatementsAcrossRollback() boolean Yes supportsPositionedDelete() boolean Yes supportsPositionedUpdate() boolean Yes supportsRefCursors() boolean Yes supportsResultSetConcurrency(int type, int concurrency) boolean Yes supportsResultSetType(int type) boolean Yes supportsSchemasInIndexDefinitions() boolean Yes supportsSchemasInPrivilegeDefinitions() boolean Yes supportsSchemasInProcedureCalls() boolean Yes supportsSchemasInTableDefinitions() boolean Yes supportsSelectForUpdate() boolean Yes supportsStatementPooling() boolean Yes supportsStoredFunctionsUsingCallSyntax() boolean Yes supportsStoredProcedures() boolean Yes supportsSubqueriesInComparisons() boolean Yes supportsSubqueriesInExists() boolean Yes supportsSubqueriesInIns() boolean Yes supportsSubqueriesInQuantifieds() boolean Yes supportsTransactionIsolationLevel(int level) boolean Yes supportsTransactions() boolean Yes supportsUnion() boolean Yes supportsUnionAll() boolean Yes updatesAreDetected(int type) boolean Yes getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types) ResultSet Yes getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) ResultSet Yes getTableTypes() ResultSet Yes getUserName() String Yes isReadOnly() boolean Yes nullsAreSortedHigh() boolean Yes nullsAreSortedLow() boolean Yes nullsAreSortedAtStart() boolean Yes nullsAreSortedAtEnd() boolean Yes getDatabaseProductName() String Yes getDatabaseProductVersion() String Yes getDriverName() String Yes getDriverVersion() String Yes getDriverMajorVersion() int Yes getDriverMinorVersion() int Yes usesLocalFiles() boolean Yes usesLocalFilePerTable() boolean Yes supportsMixedCaseIdentifiers() boolean Yes storesUpperCaseIdentifiers() boolean Yes storesLowerCaseIdentifiers() boolean Yes supportsMixedCaseQuotedIdentifiers() boolean Yes storesUpperCaseQuotedIdentifiers() boolean Yes storesLowerCaseQuotedIdentifiers() boolean Yes storesMixedCaseQuotedIdentifiers() boolean Yes supportsAlterTableWithAddColumn() boolean Yes supportsAlterTableWithDropColumn() boolean Yes supportsColumnAliasing() boolean Yes nullPlusNonNullIsNull() boolean Yes supportsConvert() boolean Yes supportsConvert(int fromType, int toType) boolean Yes supportsTableCorrelationNames() boolean Yes supportsDifferentTableCorrelationNames() boolean Yes supportsExpressionsInOrderBy() boolean Yes supportsOrderByUnrelated() boolean Yes supportsGroupBy() boolean Yes supportsGroupByUnrelated() boolean Yes supportsGroupByBeyondSelect() boolean Yes supportsLikeEscapeClause() boolean Yes supportsMultipleResultSets() boolean Yes supportsMultipleTransactions() boolean Yes supportsNonNullableColumns() boolean Yes supportsMinimumSQLGrammar() boolean Yes supportsCoreSQLGrammar() boolean Yes supportsExtendedSQLGrammar() boolean Yes supportsANSI92EntryLevelSQL() boolean Yes supportsANSI92IntermediateSQL() boolean Yes supportsANSI92FullSQL() boolean Yes supportsIntegrityEnhancementFacility() boolean Yes supportsOuterJoins() boolean Yes supportsFullOuterJoins() boolean Yes supportsLimitedOuterJoins() boolean Yes isCatalogAtStart() boolean Yes supportsSchemasInDataManipulation() boolean Yes supportsSavepoints() boolean Yes supportsResultSetHoldability(int holdability) boolean Yes getResultSetHoldability() int Yes getDatabaseMajorVersion() int Yes getDatabaseMinorVersion() int Yes getJDBCMajorVersion() int Yes getJDBCMinorVersion() int Yes uppercaseAttributeName为true时,以下接口会将查询结果转为大写,可转换范围与java中的toUpperCase方法一致。 public ResultSet getProcedures(String catalog, String schemaPattern, String procedureNamePattern) public ResultSet getProcedureColumns(String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern) public ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types) public ResultSet getSchemas(String catalog, String schemaPattern) public ResultSet getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) public ResultSet getColumnPrivileges(String catalog, String schema, String table, String columnNamePattern) public ResultSet getTablePrivileges(String catalog, String schemaPattern, String tableNamePattern) public ResultSet getBestRowIdentifier(String catalog, String schema, String table, int scope, boolean nullable) public ResultSet getPrimaryKeys(String catalog, String schema, String table) protected ResultSet getImportedExportedKeys(String primaryCatalog, String primarySchema, String primaryTable, String foreignCatalog, String foreignSchema, String foreignTable) public ResultSet getIndexInfo(String catalog, String schema, String tableName, boolean unique, boolean approximate) public ResultSet getUDTs(String catalog, String schemaPattern, String typeNamePattern, int[] types) public ResultSet getFunctions(String catalog, String schemaPattern, String functionNamePattern) getPartitionTablePrimaryKeys(String catalog, String schema, String table)接口用于获取分区表含全局索引的主键列,使用示例如下: PgDatabaseMetaData dbmd = (PgDatabaseMetaData)conn.getMetaData(); dbmd.getPartitionTablePrimaryKeys("catalogName", "schemaName", "tableName"); 父主题: JDBC接口参考
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格