标签: oracle-call-interface

如何为xampp安装oracle即时客户端

我安装了XAMPP for Windows 1.7.3.

我正在使用Zend Framework,需要使用pdo_oci8扩展.我已启用扩展 - 但现在得到错误,它无法找到oci.dll文件.

我从oracle下载了instantclient_11_2 zip文件.拉开拉链.它包含一堆dll文件.

如何在Windows上安装它?我是否需要运行cmd提示符或将其移至xampp下的特定文件夹?

php oracle-call-interface oci8

2
推荐指数
1
解决办法
2万
查看次数

oci_bind_by_name:PHP致命错误:只能通过引用传递变量

我正在尝试从Oracle包调用一个函数,我收到此错误:

PHP致命错误:只能通过引用传递变量

这是我的代码:

    $connection = $this->getConnection();

    if (!$connection){
        return null;
    }

    $s = oci_parse($connection, "begin my_package.my_function(
            :param1
        ); end;");

    //getting the error in this following line:
    oci_bind_by_name($s, ":param1", "13")


    if($result = oci_execute($s)){
             ....
    }
    ...
Run Code Online (Sandbox Code Playgroud)

我一直在查看其他帖子,但这些错误完全相同,但似乎没有一个与此问题相关.

我在Windows 7机器上使用PHP 5.5.6而不是IIS 7.5.

这是我的pacakage功能的定义:

FUNCTION my_function(param1 IN VARCHAR2) RETURN CLOB IS
BEGIN
-- etc...
-- etc...
END;
Run Code Online (Sandbox Code Playgroud)

php oracle-call-interface oracle11g iis-7.5

2
推荐指数
1
解决办法
8694
查看次数

php_oci8_12c.dll - 找不到指定的模块

我使用的是 Windows 7 和 php5.6。

php_oci8_12c.dll存在,但我找不到它。其他模块正常。

错误日志:

PHP 警告:PHP 启动:无法加载动态库 'C:/Server/bin/ext\php_oci8_12c.dll' - 找不到指定的模块。\r\n 在第 0 行的未知中

php oracle-call-interface

2
推荐指数
1
解决办法
5511
查看次数

使用 Ubuntu 服务器 17.04 php 7 和 apache2 加载 oci8.so 时出错

我在Ubuntu Server 17.04上经历了下载Oracle即时客户端、SDK等的全过程。然后用alien将rpm包转换为deb,安装,设置路径,下载pecl oci8,编译安装(无错误)等,然后添加一行:

扩展名=/usr/lib/php/20151012/oci8.so

并重新启动。当我检查 /var/log/apache2/error.log 时,我看到:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/oci8.so' - libmql1.so: cannot open shared object file: No such file or directory in Unknown on line 0
[Thu Jul 20 10:46:44.352631 2017] [mpm_prefork:notice] [pid 23450] AH00163: Apache/2.4.25 (Ubuntu) configured -- resuming normal operations
[Thu Jul 20 10:46:44.352717 2017] [core:notice] [pid 23450] AH00094: Command line: '/usr/sbin/apache2'
Run Code Online (Sandbox Code Playgroud)

有谁知道我能做些什么来使它工作?我想我没有启用 selinux 或者是权限问题?

谢谢

php oracle oracle-call-interface ubuntu-server php-7

2
推荐指数
1
解决办法
3942
查看次数

如何从OCI调用ORACLE函数?

我可以通过构造命令的SQL命令在C程序中通过OCI调用ORACLE存储过程,这里是我的代码的简短片段:

      /* build sql statement calling stored procedure */
      strcpy ( sql_stmt, "call get_tab_info(:x)" );
      rc = OCIStmtPrepare(p_sql, p_err, sql_stmt,
          (ub4) strlen (sql_stmt), (ub4) OCI_NTV_SYNTAX, (ub4) OCI_DEFAULT);
Run Code Online (Sandbox Code Playgroud)

但是如何使用以下签名构建对ORACLE函数的调用(在我的C程序中):

      CREATE OR REPLACE FUNCTION get_seq_number (p_table_name IN VARCHAR2, p_seq_type IN VARCHAR2) 
      RETURN NUMBER IS
Run Code Online (Sandbox Code Playgroud)

要在PL/SQL中调用该函数,我会使用例如:

      v_seq := get_seq_number(v_tabname, v_seqtype);
Run Code Online (Sandbox Code Playgroud)

如何构造SQL字符数组(sql_stmt)来调用我的C程序中的ORACLE函数?

c oracle oracle-call-interface

1
推荐指数
1
解决办法
5032
查看次数

Oracle 真的提供任何 OCI 演示/示例程序吗?

Oracle 说有一些 OCI 的演示/示例程序。

就我而言,我想找到使用 OCIConnectionPoolCreate() 的示例。cdemocp.c根据文档,应该有一个名为的文件:http : //download.oracle.com/docs/cd/B19306_01/appdev.102/b14250/ociabdem.htm

但它远不清楚我应该安装什么来获取这些文件?我希望我可以从 Oracle 自己的网站下载它们。似乎没有。当然没有来自上述页面的方便链接。

我试过安装(到 Windows 上):

  • 一个 Oracle 10g XE 数据库服务器,没有这样的源文件
  • Oracle 客户端(sdk 选项上),没有这样的源文件
  • 在我们的 linux 安装中搜索 - 我在哪里找到传说中的 \rdbms\demo\ 文件夹,其中包含一些引用演示源文件的 make 文件,但没有源文件. 所以运行这些 makefile 会失败。

基本上,没有运气找到它们。

如果我用谷歌搜索,cdemocp.c我只会发现:

  • Oracle 自己文档的典型多份副本
  • 其他人说他们找不到它。

(我发现使用oracle的文档就像指环王,与现实的联系很模糊,而且可能字数太多。我不喜欢它。)

oracle-call-interface oracle10g demo

1
推荐指数
1
解决办法
5113
查看次数

PHP失败,不确定原因

<?php
echo "hello";

$db='(DESCRIPTION = ADDRESS = (PROTOCOL = TCP)(HOST = some_ip)(PORT = some_port))(CONNECT_DATA = (SID = xxx.yyy)))';

$conn=oci_connect('user','pass','$db');

if (!$conn){
   echo "No connection";
}
else{
   echo "Connected!";
}
?>
Run Code Online (Sandbox Code Playgroud)

我得到了上面的代码.它显示你好,但其他任何东西,我不知道为什么,因为即使连接失败,它应显示" 无连接 ",不应该吗?

php error-handling function oracle-call-interface output

1
推荐指数
1
解决办法
66
查看次数

调用未定义的函数oci_connect,php_oci8_11g.dll,Windows 10,php5.6.24

我有一个简单的php脚本:

<?php


            $DB = '//10.11.201.170:1521/XE';
            $DB_USER = 'BIOTPL';
            $DB_PASS = 'biotpl';
            $DB_CHAR = 'AL32UTF8';

            $conn = oci_connect($DB_USER, $DB_PASS, $DB, $DB_CHAR);
            if($conn)
            {
                echo "Successfully connected to Oracle.\n";
                OCILogoff($c);
                //$statement = oci_parse($conn, 'select 1 from dual');
                //oci_execute($statement);
                //$row = oci_fetch_array($statement, OCI_ASSOC+OCI_RETURN_NULLS);
            }
            else
            {
                $err = OCIError();
                echo "Connection failed." . $err[text];
            }  
?>
Run Code Online (Sandbox Code Playgroud)

当我运行它(从浏览器或命令行)时,出现错误:

Call to undefined function oci_connect
Run Code Online (Sandbox Code Playgroud)

我正在使用php 5.6.24。我已经将php_oci8.dll和php_oci8_11g.dll复制到/ ext文件夹中。我有

extension=php_oci8.dll 
extension=php_oci8_11g.dll  
Run Code Online (Sandbox Code Playgroud)

在我的php.ini中,我已经安装了即时client_11_2-尝试了32位版本。我有ORACLE_HOME和TNS_ADMIN环境变量指向即时客户端文件夹(C:\ instantclient_11_2)。

我花了数小时的时间来尝试不同的事情,但无济于事。

我已经安装了Microsoft Visual C ++ 2010运行时(x86)。OCI8扩展需要此功能。我已经安装了Microsoft Visual C ++ 2012 Runtime(x86)。PHP需要此功能。

当我尝试以下命令时:

php --ri …
Run Code Online (Sandbox Code Playgroud)

php oracle oracle-call-interface oracle11g

1
推荐指数
1
解决办法
5704
查看次数

通过Oracle上的oracle"表或视图不存在"

当我尝试从表中访问任何内容时,我收到错误"表或视图不存在".我通过PHP使用PDO和OCI驱动程序.我一直很难找到通过PHP使用oracle的帮助.

$dbh = new PDO("oci:dbname=listst", DB_USER, DB_PASS);
Run Code Online (Sandbox Code Playgroud)

当我尝试时,select * from entriedLevels我什么也得不回来(即使entriedLevels存在且用户具有select访问权限).

当我尝试时,select OBJECT_NAME from user_objects where object_type = 'TABLE'我什么也得不回来.

当我尝试时,select TABLE_NAME from all_tables我终于可以看到所有的表格了.

我为我糟糕的写作道歉,这是一个星期五漫长的一天结束......有点脑死了.

php oracle pdo oracle-call-interface oracle10g

0
推荐指数
1
解决办法
1571
查看次数

带有to_date函数的ORA-00911错误

此请求按预期工作:

select dit_in.id data_item_in, dit_out.id data_item_out, alg.id algo_id 

from algorithm_run arun

join algorithm_run_of arof on
arof.algorithm_run_id = arun.id

join algorithm_run_input arin on
arin.algorithm_run_id = arun.id

join data_item dit_in on
dit_in.id = arin.data_item_id

join algorithm alg on
alg.id = arof.algorithm_id

join algorithm_run_output arout on
arout.algorithm_run_id = arun.id

join data_item dit_out on
dit_out.id = arout.data_item_id

where alg.id in (182,183,143,162,125,222)
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我在最后添加时出现错误:

 and arun.start_time >= to_date(’01/jun/2011’,’dd/mm/yyyy’) 
 and arun.start_time < to_date(’01/jul/2011’,’dd/mm/yyyy') 
Run Code Online (Sandbox Code Playgroud)

我正在使用Web界面,错误消息是:

警告:oci_execute()[function.oci-execute]:ORA-00911:第117行/opt/csw/apache2/share/htdocs/DAE/sites/default/modules/data_repository/data_repository.inc中的无效字符.

警告:oci_fetch_row()[function.oci-fetch-row]:ORA-24374:在获取或执行之前未完成定义并在/ opt/csw/apache2/share/htdocs/DAE/sites/default/modules/daedatabase /中获取第852行的daedatabase_db.inc.

sql oracle oracle-call-interface

-1
推荐指数
2
解决办法
1598
查看次数