草庐IT

php - Codeigniter 和 oracle 未定义常量 : OCI_COMMIT_ON_SUCCESS

我使用codeigniter开发基于Web的应用程序,当我尝试连接到我的oracleentreprise9g数据库时,框架向我发送此错误:APHPErrorwasencounteredSeverity:NoticeMessage:UseofundefinedconstantOCI_COMMIT_ON_SUCCESS-assumed'OCI_COMMIT_ON_SUCCESS'Filename:database/DB.phpLineNumber:142我尝试了不同的连接方法(经典,oraclespecific)。这是我的config/database.php文件。$active_grou

php - 从 PHP 调用 Oracle 存储过程

我正在尝试执行我的程序并从中获取数据:这里是我的过程定义的方式:createorreplacePROCEDURESP_GET_MY_DATA(IN_POPVARCHAR2,IN_SEGVARCHAR2,IN_DURVARCHAR2,IN_VIEWINTEGER,IN_PAGEINTEGER,VIEW_DATA_CUROUTSYS_REFCURSOR)AS...这是我的PHP代码,用于执行过程并从过程中获取数据:$db="(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=JXYX.com)(PORT=1521)))(CONNE

php oci_bind_by_name float

我需要将float绑定(bind)到OCI语句。我在做什么:$price=0.1oci_bind_by_name($resource,'price',$price);在我的Oracle数据库中,“价格”是存储过程的一个参数,它的类型是NUMERIC。执行语句后出现以下错误:Message:oci_execute()[function.oci-execute]:ORA-06502:PL/SQL:numericorvalueerror:charactertonumberconversionerrorORA-06512:atline1如果$price是一个整数,一切正常。在PHP文档中htt

php - 在 PHP : ORA-01460: unimplemented or unreasonable conversion requested 中执行存储过程

在PHP中执行存储过程会出现ORA-01460。这是php中的简化(原始输入值超过48个)代码:$proc_sql="BEGINCREATE_RECORD(:b1,:b2,:b3,:b4,:b5,:b6);END;";$bind=array("bind1","bind2","bind3","bind4","bind5","OUTDUMMY");$stmt=oci_parse($conn,$proc_sql);$i=1;$outval="";foreach($bindas$val){$tmp=":b".$i;if($i最后一行产生警告。但是,如果我直接在SQLDeveloper中运行查询

PHP OCI8 为 'IN' 语句绑定(bind)(未知数量)参数

对于SQLIN子句,PHPOCI8绑定(bind)SQL时如何处理未知数量的参数?例如,给定以下查询select*fromtable1whereid>:id_1andidin(:id_array_of_unknown_size)和要绑定(bind)的变量数组$bind_array=array(':id_1'=>'1',':id_array_of_unknown_size'=>array('7','2','5',),);同样重要的是要注意,在我的特定情况下,输入array($bind_array)可能包含也可能不包含绑定(bind)元素的子数组。也可以是下面的select*fromtab

php - 如何在 xampp 5.6.3 中启用 oci?

我在通过XAMPP启动Apache服务器时遇到了一些问题。我已经安装了XAMPP版本5.6.3。当我从xampp控制面板启动Apache服务器时,显示如下错误消息:单击“确定”按钮后,将显示另一个对话框,如下所示:问题是我想使用OCI而不是mysql。所以我在php.ini文件中注释掉了mysql扩展并取消注释了OCI扩展。php_oci8_12c.dll文件是xampp中php的扩展(ext)文件夹中唯一可用的文件。因此,我将这一行包含在php.ini中,如上图所示。从那以后我就收到了这个错误。我也安装了即时客户端12.1,但没有成功。我还尝试从instantclient_12_1复

php - 使用 Oracle、PHP 和 Oci8 处理 eacute 和其他特殊字符

您好,我正在尝试将名称存储到Oracle数据库中,然后使用PHP和oci8取回它们。但是,如果我将é直接插入Oracle数据库并使用oci8取回它,我只会收到一个e在插入数据库之前,我是否必须将所有特殊字符(包括é)编码为html实体(即:é)...或者我遗漏了什么?谢谢更新:3月1日18:40找到这个函数:http://www.php.net/manual/en/function.utf8-decode.php#85034functioncharset_decode_utf_8($string){if(@!ereg("[\200-\237]",$string)&&@!ereg("[\

php - PHP 中的 oci_connect 空白页

更新(5/21/2010)成功!所以经过多次$head->desk()'ing,我已经解决了它。记住children,要注意你使用的即时客户端版本,这取决于虚拟化设置!我一直在安装通用的InstantClient(不知道我们的ESX服务器安装在AMD处理器上,而不是Intel)并且在内部运行良好(CentOS安装是32位的,因为我们的内部ESXi服务器不是64位的).瞧瞧,即使您在AMD64上的虚拟服务器上运行32位安装,安装什么即时客户端仍然很重要。这是我最不想检查的事情,但现在看来,一切都运行良好。我要感谢所有帮助我完成所有可能的测试以解决这个问题的人,但最终,我没有意识到虚拟化中

PHP 无法加载动态库 "php_pdo_oci.dll"

我在Windows8上运行Apache2.4.7和PHP5.5.9。我安装了PHPUnit,这个警告图像“警告”开始弹出。是的,我在php.ini和“extension_dir”中启用了扩展加载以更正文件夹,并且该文件夹中有一个名为“php_pdo_oci.dll”的文件。我尝试使用不同的apache和php版本,但没有帮助。有什么解决方法的建议吗? 最佳答案 ..._oci.dll是OracleC接口(interface)的一部分。除非你需要使用Oracle,否则我建议你去php.ini文件中的相关行,取消注释这个扩展的加载。但是

c++ - 在 Oracle OCCI/OCI 中,读取 LOB 的缓冲区是否应该大于实际数据?获取 ORA-32116

我们正在通过OCCI将数据从CLOB读取到std::vector中。简化的代码如下所示:oracle::occi::Clobclob=result.getClob(3);unsignedlen=clob.length();std::vectorresult(len);unsignedhave_read=clob.read(len,result.data(),len);这会产生错误ORA-32116,表示缓冲区大小(read的第3个参数)应该等于或大于要读取的数据量(read的第1个参数)。这个条件显然成立。将缓冲区大小增加到4*len后:unsignedhave_read=clob.r