我们多年来一直在我们的服务器上使用Oracle,但是IT部门的人昨天没有明确的警告将其删除了,而且它真的抛弃了我们的系统!
我已经采取了cwallenpoole的建议(谢谢!)并取得了很好的进展,PHP现在至少包括了oracle函数(即oci_connect),但我现在遇到了另一条错误消息:
“警告:oci_connect()[function.oci-connect]:ORA-12705:无法访问NLS数据文件或无效环境”
我们确保tnsnames.ora等文件位于正确的位置,但仍然没有任何乐趣:(
谢谢
答案 0 :(得分:3)
确定。这是我个人的噩梦。我认真地在半夜醒来......或者我没有,但是我已经花了好几天才解决这个问题。
所以,这对我有用:
所以...这就是我一般所做的......而且一般来说它都有效......主要是......
我认为现实中我只能说好运和上帝。
答案 1 :(得分:1)
我可以让PHP连接到Oracle的唯一方法是使用Zend Framework。
答案 2 :(得分:0)
按照此过程为Oracle数据库设置NLS_LANG环境变量。 为Oracle数据库设置NLS_LANG环境变量 确定NLS_LANG值。 在数据仓库数据库中,运行命令
SELECT * FROM V $ NLS_PARAMETERS
记下NLS_LANG值,格式为[NLS_LANGUAGE] _ [NLS_TERRITORY]。[NLS_CHARACTERSET]。 例如:American_America.UTF8
对于Windows: 导航到控制面板>单击系统并单击高级选项卡。单击Environment Variables。
在“系统变量”部分中,单击“新建”。 在“变量名称”字段中,输入NLS_LANG。 在“变量值”字段中,输入在步骤1中返回的NLS_LANG值。 NLS_LANG值的格式应为[NLS_LANGUAGE] _ [NLS_TERRITORY]。[NLS_CHARACTERSET]。 例如:American_America.UTF8。 对于UNIX,请设置变量,如下所示: setenv NLS_LANG
例如:setenv NLS_LANG American_America.UTF8。 如果您的数据是7位或8位ASCII并且Informatica Server在UNIX上运行,则进行设置 NLS_LANG _.WE8ISO8859P1 注意:确保按照此过程中的说明正确设置NLS_LANG变量,否则您的数据将无法正确显示。
创建变量后重新启动计算机。