ASO support in Instant Client
Does the oracle instant client support ASO?
The Oracle Advanced Security Administrator's Guide http://download-west.oracle.com/docs/cd/B10501_01/network.920/a96573/toc.htm will walk through configuring the client & the server once you know how you want it to be configured.
Similar Messages
-
Does Instant Client support client result caching?
Hi all,
couldn't find the answer to this question on the ic-FAQ (http://www.oracle.com/technetwork/database/features/oci/ic-faq-094177.html)
Does Instant Client support client result caching?
Kind regards, Sander.Yes. Like any other OCI feature, Client Result Caching is supported by Instant Client.
Besides OCI documentation, here is a link to white paper on Client Result Caching and other OCI features: http://www.oracle.com/technetwork/topics/php/whatsnew/building-best-drivers-131920.pdf -
MIT Kerberos integration via Oracle ASO for Instant Client
Is Oracle planning on adding support for the Oracle ASO module (specifically for the use of MIT Kerberos authentication) to the Oracle Instant Client?
Last time I checked (about 2 years ago) they had not, but I'm hoping they are working on it.
Update: I originally posted this back in Feb 2007, and now it's June 2007...... No replies..... Does anyone know if Oracle will add support for MIT Kerberos Authentication to the Instant Client?
Message was edited by:
dkwhisleI haven't seen many requests of ASO support being requested for Instant Client nor have I heard of it being included any time soon (in any Instant Client-related press). You should pose the question to Oracle support or your Oracle sales representative.
-
Instant client support for oracle rac ?
My questions is does instant client support rac ?
example : tnsnames.ora
RAC =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = DB1-VIP)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = DB2-VIP)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = RAC)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 180)
(DELAY = 5)
)If you are asking if Instant Client can connect to a RAC cluster, the answer is yes. There is no functional difference between a full client and Instant Client. I hope that helps!
-
Where can I download the instant client ODBC driver for windows 7
I upgrade to windows 7 and my instant client connecting to oracle from ms Access stop working. Is there any documentation on how it works on windows 7. I use instant client and odbc cleint for xp.
Thanks11.2 is currently the only supported version on Win7, and you can get the instant client here:
http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html
Hope it helps,
Greg -
Hi,
on a windows 2008 machine that has the Oracle instant client 11_1 installed (11.01.00.06) i am calling SQLDriverConnect in the following way:
std::string str = "Driver={Oracle in instantclient11_1};Dbq=//10.10.101.66:1521/orcl;;Uid=myUser;pwd=a;b";
odbcRc = SQLDriverConnect(hdbc, NULL, (SQLTCHAR*)str.c_str(), str.size(), (SQLTCHAR*)szConnStrOut, 1024, &cbConnStrOut, SQL_DRIVER_NOPROMPT)) == SQL_ERROR);
as long as the password contains no special chars (namely semicolon) it works fine. but when I try to use special chars in the password It stops working, with an invalid username/password error.
State: 28000 Native error: 1017 Message: [Oracle][ODBC][Ora]ORA-01017: invalid username/password; logon denied
i tried different variations of adding " (\") over the password, over the entire pwd=a;b or braces { but nothing seems to work.
the thing is that using ODBC works! what I did was:
open ODBC, go to System DSN tab, add "Oracle in instantclient11_1", then fill the following information:
Data source name: Anything
TNS Service Name: //10.10.101.66:1521/orcl
User ID: myUser
then i press test connection, enter the password "a;b"
and it works!
I cannot figure out what's my problem.
Thanks,
Roy.I've created your test table in my Oracle database using this extra character and I'm able to describe it properly.
SQL> desc test;
Name Null? Type
ATTIVITÀ VARCHAR2(40)
My character set being used is:
SQL> select * from v$nls_parameters;
NLS_CHARACTERSET
WE8ISO8859P15
NLS_NCHAR_CHARACTERSET
AL16UTF16
NLS_LENGTH_SEMANTICS
BYTE
So as long as it doesn't work for you in your native Oracle database I don't think it would work with DG4ODBC. So yes, it would be best to log a service request so that the Oracle database support can check out the NLS issue.
Edited by: kgronau on Sep 28, 2011 9:21 AM
To be complete here the describe of the MySQL table native and using DG4ODBC:
mysql> create table TEST (attività Varchar(40));
Query OK, 0 rows affected (0.00 sec)
mysql> desc TEST;
---------------------------------------------------+
| Field | Type | Null | Key | Default | Extra |
---------------------------------------------------+
| attività | varchar(40) | YES | | NULL | |
---------------------------------------------------+
1 row in set (0.00 sec)
SQL*Plus: Release 11.2.0.2.0 Production on Wed Sep 28 09:20:17 2011
SQL> desc "gateway"."TEST"@MYSQL_DG4ODBC_EMGTW_1122_DB;
Name Null? Type
attività VARCHAR2(80)
So in general it should work. -
Orai18n-mapping.jar in Instant Client, but not in JDBC Driver
Hello,
i searched about my question, but no answer. :(
I downloaded the complete JDBC Driver packages (*ojdbc5.jar* + ojdbc6.jar + orai18n.jar) for Oracle 11g at:
http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc_111060.html
I downloaded the Basic + JDBC supplement packages of Instant Client of Oracle 11g at:
http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html
There is a mismatch of files between 2 ways of getting the jdbc drivers. In the Instant Client version via JDBC-Supplement, the orai18n-mapping.jar is present, but not in the JDBC way.
Why is the orai18n-mapping.jar present in one way, and not the other? Is it an error? It's all about 11g version of oracle....
Thanks
Bruno Lavoie
Edited by: brlav35 on Mar 4, 2009 3:57 PMWell, in my understanding, Instant client and JDBC drivers are completely different products: JDBC driver is a full-featured set of packages required to run JDBC-compatible program, i.e. it's enough to run a program in any supported Oracle environment. On the other hand, Instant client is a lightweight version, which does not include several JARs and some of them are present in different form, but it's enough for most JDBC-programs. See: orai18n.jar is a required package for correct Oracle object's VARCHARs attributes handling. It contains locale files for different languages. In orai18n-mapping.jar, there's no many of them, but I suppose it would be enough for the same task (probably they do not store locales in that JAR version, but rather build them on the fly if needed with help of DB - but I don't know for sure).
-
I'm trying to distribute a DB Application using the Instant Client provided
Hi!!
I'm trying to distribute a DB Application using the Instant Client provided by Oracle.
I've checked the FAQ of Oracle and says the Instant Client supports all existant versions of Oracle.
But I've also seen in another posting that the oci.dll needs the same Oracle version file it was created with.
I need to distribute an application that provides all the 8i, 9i and 10g versions.
Do I have to distribute the oci.dll for each version?
I just wanted to check if this was true.
One more question, when I uncompress the Instant Client, many files appear from which
I only left oci.dll, oraocci11.dll and oraociei11.dll and erased them all, but the program
still works. Is it ok?
thanx
Edited by: user11139984 on 2009. 5. 6 오후 11:10I am not sure what you mean if you say that you "need to distribute an application that provides all the 8i, 9i and 10g versions".
If you mean that you want your application to be able to access Oracle Databases of versions 8, 9 and 10, then you can use Instant Client 10.2.0.4 which is able to connect to all of them.
If your application does not need more than the three DLLs you mention to run, that should be fine.
Yours,
Laurenz Albe -
Oraclle 11g instant client x64 doesn't work in windows 7 x64
First of all I've read the software requirements in the installation guides for 11g instant client x64 and no support for Windows 7 is mentioned.. I'm not sure if this is the case any how here is the details of the problem:
I downloaded instant client (basic) and (sqlplus) and unzipped them on drive E, afterwards I created tnsnames.ora file with the following:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP) (HOST = IGGY) (PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
and saved it in the instant client directory, afterwards I included the instant client directory in the user variable PATH value, and created system variable TNS_ADMIN and added the location of tnsnames.ora in the value.
Now the problem starts when I open MS-DOS and type: sqlplus system @ORCL, It then prompts for the password and when I try to enter anything the cursor doesn't move unless I press enter and the result is that I get the following error:
ORA-12154: TNS: COULD NOT RESOLVE THE CONNECT IDENTIFIER SPECIFIED
Any idea what the reason of this problem is?Hello again,
I was able to reproduce ORA-12154 and the error raised beacause my DUMMY-HOST was not reachable. Using the correct hostname/IP address solved the issue. Can you check if you are able to ping and to telnet your hostname (IGGY).
Regards,
David
# Reproducing issue
E:\instantclient_11_1>sqlplus system/manager@//DUMMY-HOST:1521/PROD
SQL*Plus: Release 11.1.0.7.0 - Production on Fri Nov 27 10:37:54 2009
Copyright (c) 1982, 2008, Oracle. All rights reserved.
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
Enter user-name:
# Hostname is not pingable
E:\instantclient_11_1>ping DUMMY-HOST
Ping request could not find host DUMMY-HOST. Please check the name and try again.
# Pinging host which is alive
E:\instantclient_11_1>ping stlin3p
Pinging stlin3p [192.168.1.123] with 32 bytes of data:
Reply from 192.168.1.123: bytes=32 time<1ms TTL=64
Reply from 192.168.1.123: bytes=32 time<1ms TTL=64
Reply from 192.168.1.123: bytes=32 time<1ms TTL=64
Reply from 192.168.1.123: bytes=32 time<1ms TTL=64
Ping statistics for 192.168.1.123:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
# Connecting to port 1521 at DUMMY-HOST fails as well
E:\instantclient_11_1>telnet DUMMY-HOST 1521
Connecting To DUMMY-HOST...Could not open connection to the host, on port 1521:
Connect failed
# Connecting to port 1521 at stlin3p is successful
E:\instantclient_11_1>telnet stlin3p 1521
... connected ...
# Content of tnsnames.ora
PROD =
DESCRIPTION =
ADDRESS = (PROTOCOL = TCP) (HOST = stlin3p) (PORT = 1521)
CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = PROD)
# Connecting to DB server using TNS methods is successful
E:\instantclient_11_1>sqlplus system/manager@PROD
SQL*Plus: Release 11.1.0.7.0 - Production on Fri Nov 27 10:36:40 2009
Copyright (c) 1982, 2008, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Release 10.2.0.4.0 - 64bit Production
SQL> exit
Disconnected from Oracle Database 10g Release 10.2.0.4.0 - 64bit Production
# Connecting to DB server using EZCONNECT is also successful
E:\instantclient_11_1>sqlplus system/manager@//stlin3p:1521/PROD
SQL*Plus: Release 11.1.0.7.0 - Production on Fri Nov 27 10:38:21 2009
Copyright (c) 1982, 2008, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Release 10.2.0.4.0 - 64bit Production
SQL> exit
Disconnected from Oracle Database 10g Release 10.2.0.4.0 - 64bit Production -
I see Oracle provides several instant client downloads. Is there a SQLLDR instant client, or a lite version that doesn't require the whole Oracle client for Linux (both 64 and 32 bit)?
yes - i am sure - things to consider:
the sqlldr needs to be from the same O/S (if obv, sorry)
you need to copy the contents of the rdbms/mesg/ folder so the status messages can be displayed.
make sure you've got a ln to bin and lib.
here is a typical instant client folder contents:
rdbms/mesg/ (directory)
network/admin/tnsnames.ora (directory & file)
lib -> ../instantclient_10_2
bin -> ../instantclient_10_2
install (directory)
libclntsh.so.10.1
libociei.so
libnnz10.so
libocci.so.10.1
libclntsh.so.10.1
ojdbc14.jar
libocijdbc10.so
classes12.jar
sqlplus
libsqlplus.so
libsqlplusic.so
glogin.sql
sqlldr
hope this helps; let me know
also - i still have no exception or idea if Oracle Support will support this. -
Oracle Instant Client for Intel MacOS X
Hi all, this is my first post here (so I don't know if it's the proper place, but to try it is free. Sorry for any inconvenience).
Anybody, can confirm/explain why, one year after launch, there isn't one available download of Oracle Instant Client for Intel MacOS X?
Without it's impossible, for example, to compile PHP with OCI support under Intel MacOS X (native mode) and it's really a pain.
With PPC version existing since ages, wouldn't be absolutely easy to recompile that cool stuff for Intel MacOS X?
TIA and ciao, Eloy Lafuente :-)Hi again...
just to know a bit more... two months later... how is customer demand going...?
Have you searched for "macos x instant client intel" ?
Aren't PHP/Perl/Ruby applications enough?
I sincerely think it's a big mistake to don't offer native connectivity for MacOS X Intel users... of course, your mistake.
Some developers, like me, will stop developing/improving Oracle support in their applications just because they use MacOS X to develop. So, those applications won't run ok under Oracle, no matter where you deploy them.
With thousands of applications running natively under MacOS X Intel... isn't there (@ Oracle) able to recompile that tiny piece of software to run under Intels... sorry but I cannot believe it.
I'll email SJ right now! Ciao :-) -
Php 5.1.2 doesn't seem to recognize the --with-oci8-instant-client option
I just tried configuring php 5.1.2 with the --with-oci8-instant-client option and could never get phpinfo() to show the oci8 section...
Finally went back and tried php 5.1.1 and it worked.
If anyone else could verify this behavior, maybe the PHP folks should be notified??Discovered the issue:
the configure script changed the format of the config option
in php 5.1.1:
--with-oci8[=DIR] Include Oracle (OCI8) support using an ORACLE_HOME
install. The default DIR is ORACLE_HOME
--with-oci8-instant-client[=DIR]
Include Oracle (OCI8) support using
Oracle Instant Client. DIR is the directory with the
Instant Client libraries. On Linux it will default to
/usr/lib/oracle/<most_recent_version>/client/lib
Other platforms will need to have it explicitly specified
HOWEVER, in php 5.1.2:
--with-oci8[=DIR] Include Oracle (OCI8) support.
The default DIR is ORACLE_HOME.
Use --with-oci8=instantclient,/path/to/oic/lib
to use Oracle Instant Client installation
This explains why the --with-oci8-instant-client option is ignored. The new format is:
--with-oci8=instantclient,/path/to/libs -
Solaris PHP 5.2.12 Oracle Instant Client Error
We are testing a Oracle Solaris Express 11 Server with the standard Apache and PHP installation. But we need the Oracle Instant client and the oci8 module enabled for our company applications.
We did this by using ./pecl install oci8 in /usr/php/5.2/bin. We set the LD_LIBRARY_PATH in /etc/apache2/2.2/envvars
a 32bits solaris (x86) version of the Oracle Instant Client 11.2 is installed in /opt/oracle/instantclient_11_2 with the symbolic link made.
envvars:
LD_LIBRARY_PATH=/opt/oracle/instantclient_11_2
ORACLE_HOME=/opt/oracle/instantclient_11_2
ORACLE_BASE=/opt/oracle/instantclient_11_2
he oci8 module installed and php loads it.
phpinfo(); output:
oci8
OCI8 Support enabled
Version 1.4.6
Revision $Revision: 313688 $
Active Persistent Connections 0
Active Connections 0
Oracle Run-time Client Library Version 11.2.0.2.0
Oracle Instant Client Version 11.2
Temporary Lob support enabled
When we first view a site there is no problem but very randomly we get the following error:
OCIEnvNlsCreate() failed. There is something wrong with your system - please check that LD_LIBRARY_PATH includes the directory with Oracle Instant Client libraries*
but when we use echo getenv("LD_LIBRARY_PATH"); in php the output is "/opt/oracle/instantclient_11_2"
now the strange this is as randomly as it appears it disappears we can load the web-page without problems and after a couple of clicks the error is back. if we wait a coupe of seconds you can reload the page and it loads normaly.
The error appears to be random and we get it over and over agian, it comes and goes after a cpl of pages are viewed. It seems to appear more when there are multiple users browsing on the website.
Is there a fix for this? is this an known bug? It seems strange the instant client works some times and fails a second later without a change in the system.
Hope someone can help us.
Edited by: user10978378 on Sep 3, 2011 4:20 AMSolved it by compiling apache 2.2.20 into 64bits using:
CFLAGS="-m64" CXXFLAGS="-m64" LDFLAGS="-m64" ./configure enable-so enable-cgi enable-info enable-rewrite enable-deflate enable-ssl
and compiling php 5.3.8 into 64bits:
CFLAGS="-m64" CXXFLAGS="-m64" LDFLAGS="-m64" ./configure with-apxs2=/usr/local/apache2/bin/apxs with-gd with-zlib disable-ipv6 with-jpeg-dir=/usr/ with-png-dir=/usr/ with-freetype-dir=/usr/ with-pear with-openssl with-oci8=instantclient,/opt/oracle/instantclient_10_2
and using the 10.2.0.4 instant client.
there might be a bug in the 11.x ones, they dont seem to work on Oracle Solaris 11. -
The Instant Client SDK on Linux was released today
The 10.1.0.3 Linux Instant Client SDK was posted on OTN today. See
http://www.oracle.com/technology/tech/oci/instantclient/instantclient.html
You can now use Instant Client to compile PHP. You need to modify
PHPs configuration scripts first. One suggested change is given in
PHP bug http://bugs.php.net/bug.php?id=31084 The diff in the bug is a
little awkwardly wrapped. Here it is again for ease of
cutting/pasting. See the bug for the other instructions.
-- CJ
--- ext/oci8/config.m4.orig 2004-02-04 01:22:34.000000000 +1100
+++ ext/oci8/config.m4 2004-12-14 18:36:21.000000000 +1100
@@ -38,16 +38,46 @@
OCI8_VERSION=8.1
fi
else
- AC_MSG_ERROR(Oracle-OCI8 needed libraries not found)
+ AC_MSG_ERROR([Oracle (OCI8) required libraries not found])
fi
AC_MSG_RESULT($OCI8_VERSION)
-PHP_ARG_WITH(oci8, for Oracle-OCI8 support,
-[ --with-oci8[=DIR] Include Oracle-oci8 support. Default DIR is ORACLE_HOME.])
+AC_DEFUN(AC_OCI8IC_VERSION,[
+ AC_MSG_CHECKING([Oracle Instant Client version])
+ if test -f $PHP_OCI8_INSTANT_CLIENT/libociei.$SHLIB_SUFFIX_NAME; then
+ if test -f $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME.10.1; then
+ if test ! -f $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME; then
+ AC_MSG_ERROR([Link from $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME to libclntsh.$SHLIB_SUFFIX_NAME.10.1 not found])
+ fi
+ OCI8_VERSION=10.1
+ else
+ AC_MSG_ERROR([Oracle Instant Client library version not supported])
+ fi
+ else
+ AC_MSG_ERROR([Oracle Instant Client libraries not found])
+ fi
+ AC_MSG_RESULT([$OCI8_VERSION])
+])
+
+PHP_ARG_WITH(oci8, for Oracle (OCI8) support using ORACLE_HOME installation,
+[ --with-oci8[[=DIR]] Include Oracle (OCI8) support using an ORACLE_HOME
+ install. The default DIR is ORACLE_HOME])
+
+PHP_ARG_WITH(oci8-instant-client, for Oracle (OCI8) support using Oracle Instant Client,
+[ --with-oci8-instant-client[[=DIR]] Include Oracle (OCI8) support using
+ Oracle Instant Client. DIR is the directory with the
+ Instant Client libraries. On Linux it will default to
+ /usr/lib/oracle/<most_recent_version>/client/lib
+ Other platforms will need to have it explicitly specified.])
if test "$PHP_OCI8" != "no"; then
- AC_MSG_CHECKING([Oracle Install-Dir])
+
+ if test "$PHP_OCI8_INSTANT_CLIENT" != "no"; then
+ AC_MSG_ERROR([--with-oci8 and --with-oci8-instant-client are mutually exclusive])
+ fi
+
+ AC_MSG_CHECKING([Oracle Install Directory])
if test "$PHP_OCI8" = "yes"; then
OCI8_DIR=$ORACLE_HOME
else
@@ -116,14 +146,18 @@
-L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
+
10.1)
PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD)
PHP_ADD_LIBPATH($OCI8_DIR/lib, OCI8_SHARED_LIBADD)
AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ])
AC_DEFINE(HAVE_OCI_9_2,1,[ ])
+ AC_DEFINE(HAVE_OCI8_TEMP_LOB,1,[ ])
+ AC_DEFINE(PHP_OCI8_HAVE_COLLECTIONS,1,[ ])
+
- AC_MSG_ERROR(Unsupported Oracle version!)
+ AC_MSG_ERROR([Unsupported Oracle version])
esac
@@ -145,10 +179,88 @@
-L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
+ dnl
+ dnl Check if we have collections
+ dnl
+ PHP_CHECK_LIBRARY(clntsh, OCICollAssign,
+ [
+ AC_DEFINE(PHP_OCI8_HAVE_COLLECTIONS,1,[ ])
+ ], [], [
+ -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
+ ])
+
+
PHP_NEW_EXTENSION(oci8, oci8.c, $ext_shared)
AC_DEFINE(HAVE_OCI8,1,[ ])
PHP_SUBST_OLD(OCI8_SHARED_LIBADD)
PHP_SUBST_OLD(OCI8_DIR)
PHP_SUBST_OLD(OCI8_VERSION)
+
+elif test "$PHP_OCI8_INSTANT_CLIENT" != "no"; then
+
+ AC_MSG_CHECKING([Oracle Instant Client directory])
+ if test "$PHP_OCI8_INSTANT_CLIENT" = "yes"; then
+dnl Generally the Instant Client can be anywhere so the user must pass in the
+dnl directory to the libraries. But on Linux we default to the most recent
+dnl version in /usr/lib
+ PHP_OCI8_INSTANT_CLIENT=`ls -d /usr/lib/oracle/*/client/lib 2> /dev/null | tail -1`
+ if test -z "$PHP_OCI8_INSTANT_CLIENT"; then
+ AC_MSG_ERROR([Oracle Instant Client directory not found. Try --with-oci8-instant-client=DIR])
+ fi
+ fi
+ AC_MSG_RESULT($PHP_OCI8_INSTANT_CLIENT)
+
+ OCI8_DIR=$PHP_OCI8_INSTANT_CLIENT
+
+ AC_MSG_CHECKING([Oracle Instant Client SDK header directory])
+
+dnl Header directory for Instant Client SDK RPM install
+ OCISDKRPMINC=`echo "$PHP_OCI8_INSTANT_CLIENT" | sed -e 's!^/usr/lib/oracle/\(.*\)/client/lib[[/]]*$!/usr/include/oracle/\1/client!'`
+
+dnl Header directory for Instant Client SDK zip file install
+ OCISDKZIPINC=$PHP_OCI8_INSTANT_CLIENT/sdk/include
+
+ if test -f "$OCISDKRPMINC/oci.h"; then
+ AC_MSG_RESULT($OCISDKRPMINC)
+ PHP_ADD_INCLUDE($OCISDKRPMINC)
+ OCI8INCDIR=$OCISDKRPMINC
+ elif test -f "$OCISDKZIPINC/oci.h"; then
+ AC_MSG_RESULT($OCISDKZIPINC)
+ PHP_ADD_INCLUDE($OCISDKZIPINC)
+ OCI8INCDIR=$OCISDKZIPINC
+ else
+ AC_MSG_ERROR([Oracle Instant Client SDK header files not found])
+ fi
+
+ OCISYSLIBLIST=`echo "$OCI8INCDIR" | sed -e 's!\(.*\)/include$!\1/demo/sysliblist!'`
+ if test -f "$OCISYSLIBLIST"; then
+ PHP_EVAL_LIBLINE(`cat $OCISYSLIBLIST`, OCI8_SYSLIB)
+ fi
+
+ AC_OCI8IC_VERSION($PHP_OCI8_INSTANT_CLIENT)
+ case $OCI8_VERSION in
+ 10.1)
+ PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD)
+ PHP_ADD_LIBPATH($PHP_OCI8_INSTANT_CLIENT, OCI8_SHARED_LIBADD)
+ ;;
+
+ *)
+ AC_MSG_ERROR([Unsupported Oracle Instant Client version])
+ ;;
+ esac
+
+ AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ])
+ AC_DEFINE(HAVE_OCI_9_2,1,[ ])
+ AC_DEFINE(HAVE_OCI8_TEMP_LOB,1,[ ])
+ AC_DEFINE(PHP_OCI8_HAVE_COLLECTIONS,1,[ ])
+ AC_DEFINE(HAVE_OCI_INSTANT_CLIENT,1,[ ])
+
+ PHP_NEW_EXTENSION(oci8, oci8.c, $ext_shared)
+ AC_DEFINE(HAVE_OCI8,1,[ ])
+
+ PHP_SUBST_OLD(OCI8_SHARED_LIBADD)
+ PHP_SUBST_OLD(OCI8_DIR)
+ PHP_SUBST_OLD(OCI8_VERSION)
+
fiI've just installed the 10.1.0.3 instant client basic and sdk and php-4.3.9 on a Mandrake 10 Linux system
However I can`t patch the config.m4 file.
patch -p0 config.m4 php_oci8ic_buildpatch
patching file config.m4
Hunk #1 FAILED at 38.
Hunk #2 FAILED at 146.
Hunk #3 FAILED at 179.
3 out of 3 hunks FAILED -- saving rejects to file config.m4.rej
config.m4.rej says:
*** 38,53 ****
OCI8_VERSION=8.1
fi
else
- AC_MSG_ERROR(Oracle-OCI8 needed libraries not found)
fi
AC_MSG_RESULT($OCI8_VERSION)
- PHP_ARG_WITH(oci8, for Oracle-OCI8 support,
- [ --with-oci8[=DIR] Include Oracle-oci8 support. Default DIR is ORACLE_HOME.])
if test "$PHP_OCI8" != "no"; then
- AC_MSG_CHECKING([Oracle Install-Dir])
if test "$PHP_OCI8" = "yes"; then
OCI8_DIR=$ORACLE_HOME
else
--- 38,83 ----
OCI8_VERSION=8.1
fi
else
+ AC_MSG_ERROR([Oracle (OCI8) required libraries not found])
fi
AC_MSG_RESULT($OCI8_VERSION)
+ AC_DEFUN(AC_OCI8IC_VERSION,[
+ AC_MSG_CHECKING([Oracle Instant Client version])
+ if test -f $PHP_OCI8_INSTANT_CLIENT/libociei.$SHLIB_SUFFIX_NAME; then
+ if test -f $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME.10.1; then
+ if test ! -f $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME; then
+ AC_MSG_ERROR([Link from $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME to libclntsh.$SHLIB_SUFFIX_NAME.10.1 not found])
+ fi
+ OCI8_VERSION=10.1
+ else
+ AC_MSG_ERROR([Oracle Instant Client library version not supported])
+ fi
+ else
+ AC_MSG_ERROR([Oracle Instant Client libraries not found])
+ fi
+ AC_MSG_RESULT([$OCI8_VERSION])
+ ])
+
+ PHP_ARG_WITH(oci8, for Oracle (OCI8) support using ORACLE_HOME installation,
+ [ --with-oci8[[=DIR]] Include Oracle (OCI8) support using an ORACLE_HOME
+ install. The default DIR is ORACLE_HOME])
+
+ PHP_ARG_WITH(oci8-instant-client, for Oracle (OCI8) support using Oracle Instant Client,
+ [ --with-oci8-instant-client[[=DIR]] Include Oracle (OCI8) support using
+ Oracle Instant Client. DIR is the directory with the
+ Instant Client libraries. On Linux it will default to
+ /usr/lib/oracle/<most_recent_version>/client/lib
+ Other platforms will need to have it explicitly specified.])
if test "$PHP_OCI8" != "no"; then
+
+ if test "$PHP_OCI8_INSTANT_CLIENT" != "no"; then
+ AC_MSG_ERROR([--with-oci8 and --with-oci8-instant-client are mutually exclusive])
+ fi
+
+ AC_MSG_CHECKING([Oracle Install Directory])
if test "$PHP_OCI8" = "yes"; then
OCI8_DIR=$ORACLE_HOME
else
*** 116,129 ****
-L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
10.1)
PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD)
PHP_ADD_LIBPATH($OCI8_DIR/lib, OCI8_SHARED_LIBADD)
AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ])
AC_DEFINE(HAVE_OCI_9_2,1,[ ])
- AC_MSG_ERROR(Unsupported Oracle version!)
esac
--- 146,163 ----
-L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
+
10.1)
PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD)
PHP_ADD_LIBPATH($OCI8_DIR/lib, OCI8_SHARED_LIBADD)
AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ])
AC_DEFINE(HAVE_OCI_9_2,1,[ ])
+ AC_DEFINE(HAVE_OCI8_TEMP_LOB,1,[ ])
+ AC_DEFINE(PHP_OCI8_HAVE_COLLECTIONS,1,[ ])
+
+ AC_MSG_ERROR([Unsupported Oracle version])
esac
*** 145,154 ****
-L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
PHP_NEW_EXTENSION(oci8, oci8.c, $ext_shared)
AC_DEFINE(HAVE_OCI8,1,[ ])
PHP_SUBST_OLD(OCI8_SHARED_LIBADD)
PHP_SUBST_OLD(OCI8_DIR)
PHP_SUBST_OLD(OCI8_VERSION)
fi
--- 179,266 ----
-L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
+ dnl
+ dnl Check if we have collections
+ dnl
+ PHP_CHECK_LIBRARY(clntsh, OCICollAssign,
+ [
+ AC_DEFINE(PHP_OCI8_HAVE_COLLECTIONS,1,[ ])
+ ], [], [
+ -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD
+ ])
+
+
PHP_NEW_EXTENSION(oci8, oci8.c, $ext_shared)
AC_DEFINE(HAVE_OCI8,1,[ ])
PHP_SUBST_OLD(OCI8_SHARED_LIBADD)
PHP_SUBST_OLD(OCI8_DIR)
PHP_SUBST_OLD(OCI8_VERSION)
+
+ elif test "$PHP_OCI8_INSTANT_CLIENT" != "no"; then
+
+ AC_MSG_CHECKING([Oracle Instant Client directory])
+ if test "$PHP_OCI8_INSTANT_CLIENT" = "yes"; then
+ dnl Generally the Instant Client can be anywhere so the user must pass in the
+ dnl directory to the libraries. But on Linux we default to the most recent
+ dnl version in /usr/lib
+ PHP_OCI8_INSTANT_CLIENT=`ls -d /usr/lib/oracle/*/client/lib 2> /dev/null | tail -1`
+ if test -z "$PHP_OCI8_INSTANT_CLIENT"; then
+ AC_MSG_ERROR([Oracle Instant Client directory not found. Try --with-oci8-instant-client=DIR])
+ fi
+ fi
+ AC_MSG_RESULT($PHP_OCI8_INSTANT_CLIENT)
+
+ OCI8_DIR=$PHP_OCI8_INSTANT_CLIENT
+
+ AC_MSG_CHECKING([Oracle Instant Client SDK header directory])
+
+ dnl Header directory for Instant Client SDK RPM install
+ OCISDKRPMINC=`echo "$PHP_OCI8_INSTANT_CLIENT" | sed -e 's!^/usr/lib/oracle/\(.*\)/client/lib[[]]*$!/usr/include/oracle/\1/client!'`
+
+ dnl Header directory for Instant Client SDK zip file install
+ OCISDKZIPINC=$PHP_OCI8_INSTANT_CLIENT/sdk/include
+
+ if test -f "$OCISDKRPMINC/oci.h"; then
+ AC_MSG_RESULT($OCISDKRPMINC)
+ PHP_ADD_INCLUDE($OCISDKRPMINC)
+ OCI8INCDIR=$OCISDKRPMINC
+ elif test -f "$OCISDKZIPINC/oci.h"; then
+ AC_MSG_RESULT($OCISDKZIPINC)
+ PHP_ADD_INCLUDE($OCISDKZIPINC)
+ OCI8INCDIR=$OCISDKZIPINC
+ else
+ AC_MSG_ERROR([Oracle Instant Client SDK header files not found])
+ fi
+
+ OCISYSLIBLIST=`echo "$OCI8INCDIR" | sed -e 's!\(.*\)/include$!\1/demo/sysliblist!'`
+ if test -f "$OCISYSLIBLIST"; then
+ PHP_EVAL_LIBLINE(`cat $OCISYSLIBLIST`, OCI8_SYSLIB)
+ fi
+
+ AC_OCI8IC_VERSION($PHP_OCI8_INSTANT_CLIENT)
+ case $OCI8_VERSION in
+ 10.1)
+ PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD)
+ PHP_ADD_LIBPATH($PHP_OCI8_INSTANT_CLIENT, OCI8_SHARED_LIBADD)
+ ;;
+
+ *)
+ AC_MSG_ERROR([Unsupported Oracle Instant Client version])
+ ;;
+ esac
+
+ AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ])
+ AC_DEFINE(HAVE_OCI_9_2,1,[ ])
+ AC_DEFINE(HAVE_OCI8_TEMP_LOB,1,[ ])
+ AC_DEFINE(PHP_OCI8_HAVE_COLLECTIONS,1,[ ])
+ AC_DEFINE(HAVE_OCI_INSTANT_CLIENT,1,[ ])
+
+ PHP_NEW_EXTENSION(oci8, oci8.c, $ext_shared)
+ AC_DEFINE(HAVE_OCI8,1,[ ])
+
+ PHP_SUBST_OLD(OCI8_SHARED_LIBADD)
+ PHP_SUBST_OLD(OCI8_DIR)
+ PHP_SUBST_OLD(OCI8_VERSION)
+
fi
How can i patch the config.m4 file?? -
Problem new instant client 10.2.0.3 basic lite win32
I use the instant client 10.2.0.2 on a w2k/IIS5 machine with no problems at all.
I used "instantclient-basiclite-win32-10.2.0.2-20060508.zip", followed the instructions and it works fine. I use in an ASP page a connection string to use with OLE DB (Provider=MSDAORA; etc. etc)
On a second machine i downloaded a newer version 10.2.0.3. (instantclient-basiclite-win32-10.2.0.3-20061115.zip)
As described i followed the same instructions but it would not work. When i use the older on on the new machine it works perfect.
Back to the new version, i got this error:
Microsoft OLE DB Provider for Oracle
2147467259
Oracle client and networking components were not found. etc. etc.
I came to the following:
In the ORACLE_HOME folder (in my situation: C:\Oracle\instantclient_10_2)
I have added the following files to the Bin folder, i got those files from the 10g client cd.
\Bin
oracore10.dll
oranls10.dll
oraunls10.dll
orauts.dll
After that i got a new error:
"Microsoft OLE DB Provider for Oracle
Error while trying to retrieve text for error ORA-01019"
Then i added the foloowing files to ORACLE_HOME:
\rdbms\mesg
oraus.msb
The error became clearer:
"Microsoft OLE DB Provider for Oracle
ORA-01019: unable to allocate memory in the user side"
I added more:
\oracore\zoneinfo
timezlrg.dat
timezone.dat
Finally i got it to work. I don't know why the instant client is behaving like this. The 10.2.0.2 version cannot be downloaded anymore.
Has someone experienced the same problem? I just want to work with the package as it was downloaded from Oracle, i doubt it was intended to add files from different version. I learned with filemon,regmon and depends from sysinternals that de instantclient looks for other files that arent in de instant client package. Probaly it does not need al the file to work. I have read that when using the file: \rdbms\mesg\oraus.msb can lead to serious performance problems, as it looks for the file many times when quering. I guess this file is only for explenation of errors.
This file can be left out, it work without it.
I hope someone can help me.
Sil Grouwstra
NetherlandsFor what it is worth, I am having a similar problem with an application I support. When I upgraded from 10.2.0.2 to 10.2.0.3 to fix a performance problem, we now have this connection problem. If I can not get a good solution for the InstantClient I will have to start using the Full 10.2.0.3 Client and I am not looking forward to deploying that.
Steve Hicklin
USA
Maybe you are looking for
-
Photo doesn't appear when a contact calls until after answer (iOS 7)
When I recieve a call from a contact the photo (sync'd with Facebook) doesn't appear when the phone is ringing. Once answered the photo appears on the in call screen. I'm sure it appeared whilst ringing in iOS 6?
-
Mountain Lion and Power PC application negation
Just downloaded Mountain Lion. Now I cannot use my "power PC' Applications like Excel or Word or Music Planet. Why? Help!
-
Hi, I have some vendors of which master data have a customer number and for these vendors customer clearing is acitve. In the F110 prorposal display I need to see the vendor account and customer account balances separately in the first screen without
-
10g report printing - directly to default printer
I basically want to know how you can set or retrieve the clients default printer and assign it to des_name on the forms side. Thanks.
-
How do I link my Favorites in 'My Computer' to the Favorites Menu in Mozilla Firefox?
I do not have a back-up to restore them from, but they are all in 'My Computer'.