启用Oracle 11g中的Apex

 

ORACLE 的信息生命周期管理工具ILMA的使用前提是Apex.
Apex在oracle 11g Release 2版本中是默认安装的。但安装后没有启用。可以使用下面方法启用它。
SQL> show user
USER is "SYS"
SQL> spool apex
查看安装的Apex详情。
SQL> select * from dba_registry where comp_id = 'APEX';

APEX
Oracle Application Express
3.2.1.00.10                    VALID       02-APR-2010 14:20:27
SERVER                         SYS
APEX_030200
VALIDATE_APEX

FLOWS_FILES


SQL>
SQL> @%oracle_home%\RDBMS\ADMIN\epgstat.sql
+--------------------------------------+
| XDB protocol ports:                  |
|  XDB is listening for the protocol   |
|  when the protocol port is non-zero. |
+--------------------------------------+

        0        0

1 row selected.

+---------------------------+
| DAD virtual-path mappings |
+---------------------------+

/apex/*                          APEX

1 row selected.

+----------------+
| DAD attributes |
+----------------+

APEX         database-username        ANONYMOUS
             default-page             apex
             document-table-name      wwv_flow_file_objects$
             request-validation-funct wwv_flow_epg_include_modules.authorize
             ion

             document-procedure       wwv_flow_file_mgr.process_download
             nls-language             american_america.al32utf8
             document-path            docs

7 rows selected.

+---------------------------------------------------+
| DAD authorization:                                |
|  To use static authentication of a user in a DAD, |
|  the DAD must be authorized for the user.         |
+---------------------------------------------------+

no rows selected

+----------------------------+
| DAD authentication schemes |
+----------------------------+

APEX                 ANONYMOUS                        Anonymous

1 row selected.

+--------------------------------------------------------+
| ANONYMOUS user status:                                 |
|  To use static or anonymous authentication in any DAD, |
|  the ANONYMOUS account must be unlocked.               |
+--------------------------------------------------------+

ANONYMOUS       EXPIRED & LOCKED

1 row selected.

+-------------------------------------------------------------------+
| ANONYMOUS access to XDB repository:                               |
|  To allow public access to XDB repository without authentication, |
|  ANONYMOUS access to the repository must be allowed.              |
+-------------------------------------------------------------------+

false

1 row selected.

SQL>
查看HTTP所使用的port,其中0表示没有开启。
SQL> select dbms_xdb.getHTTPPort from dual;

          0

1 row selected.

SQL>
设置port并查看。
SQL> begin
  2    dbms_xdb.setHTTPPort(8080);
  3    commit;
  4  end;
  5  /

PL/SQL procedure successfully completed.

SQL>
SQL> select dbms_xdb.getHTTPPort from dual;

       8080

1 row selected.
启用匿名帐号。
SQL> ALTER USER ANONYMOUS ACCOUNT UNLOCK;
修改密码:
SQL> @%Oracle_home%\apex\apxchpwd.sql
Enter a value below for the password for the Application Express ADMIN user.


Enter a password for the ADMIN user              []

Session altered.

...changing password for ADMIN

PL/SQL procedure successfully completed.


Commit complete.

User altered.

SQL>
SQL>
修改访问权限:
SQL> begin
  2    DBMS_XDB.SETLISTENERLOCALACCESS (FALSE);
  3  end;
  4  /

PL/SQL procedure successfully completed.
通过下面链接访问Apex.

http://localhost:8080/apex/apex_admin

Oracle Apex中利用Python进行数据插入,通常需要借助外部脚本运行Python程序。首先,你需要确保已经在Apex环境中设置了Python插件,比如"DBMS Apex Code Python"。以下是一个简单的步骤: 1. **设置环境**: - 安装Python解释器(如果你还没有安装)并配置环境变量。 - 在Apex应用中启用Python支持,并确保允许对数据库的操作。 2. **创建Python存储过程**: - 在Apex应用程序的"Items"部分,创建一个"Pl/SQL Procedure Item",选择"Programmatic PL/SQL"作为源,编写Python代码片段用于连接数据库和执行插入操作。 ```python def insert_data(row_data): import cx_Oracle connection = cx_Oracle.connect('<username>', '<password>', '<connection_string>') cursor = connection.cursor() table_name = 'your_table_name' columns = ', '.join(row_data.keys()) # 获取数据字典的键名,构建列名列表 placeholders = ', '.join(['%s'] * len(row_data)) # 构建占位符列表 query = f"INSERT INTO {table_name} ({columns}) VALUES ({placeholders})" cursor.execute(query, row_data.values()) connection.commit() cursor.close() connection.close() # 示例调用 insert_data({'column1': 'value1', 'column2': 'value2'}) ``` **替换占位符**: - `<username>`: 数据库用户的用户名 - `<password>`: 用户的密码 - `<connection_string>`: 数据库的连接字符串,例如 `"{username}/{password}@//host:port/service_name"` 3. **在Apex界面调用**: - 在相关的页面、区域或者动态动作中,通过JavaScript或者其他Apex功能调用这个Python函数,传入你要插入的数据。 记得将上述代码片段中的`<...>`替换为你实际的数据库连接信息。在执行之前,确保Python代码已经正确地处理了异常处理,以防在连接失败或其他错误发生时影响用户体验。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值