UnsatisfiedLinkError: make_c_state
Hi
While installing Compiere (open source product) I get the following error: (I was told by Compiere to check my Oracle settings. I have Oracle 9i version 1 running on a windows 2000 box. Java 1.4.1) Thanks
TNS = jdbc:oracle:oci8:@ORACLE9.NTIERPRIMARY
java.lang.UnsatisfiedLinkError: make_c_state
at oracle.jdbc.oci8.OCIDBAccess.make_c_state(Native Method)
at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:397)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:346)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.ja
va:468)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at org.compiere.install.ConfigurationPanel.testTNS(ConfigurationPanel.ja
va:750)
at org.compiere.install.ConfigurationPanel.testIt(ConfigurationPanel.jav
a:596)
at org.compiere.install.ConfigurationPanel.test(ConfigurationPanel.java:
472)
at org.compiere.install.ConfigurationPanel.access$000(ConfigurationPanel
.java:41)
at org.compiere.install.ConfigurationPanel$1.Long postings are being truncated to ~1 kB at this time.
hi Martin,
Oracle9i v9.0.1 doesn't support JDK 1.4. You have to either switch to JDK 1.3 or install Oracle9i v9.2 DB.
Once this is done, refer
Re: OCI Driver problem
Elango.
Similar Messages
-
I have just installed 10g 9.0.5.2(build 1618) and get the following error when I try and use the OCI driver.
java.lang.UnsatisfiedLinkError: make_c_state
at oracle.jdbc.oci8.OCIDBAccess.make_c_state(Native Method)
at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:458)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:377)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:515)
This was working in the JDeveloper 9i I was previously using.
The README.html for 10g talks about the OCI drivers not being available until 10g App server is released and installing " a different version of the JDBC drivers in JDeveloper (see the JDeveloper Help for details", but I can't find this information in the Help.
Anyone know the solution?
Thanks,
RichardI include Oracle9iAS and Oracle9i Client bin into PATH, I still got java.lang.UnsatisfiedLinkError: make_c_state
error in JDeveloper 10g(9.0.5.1) -
Java.lang.UnsatisfiedLinkError: make_c_state
Hi there,
Is anybody see this error while try to connect to Oracle database with oci driver:
Exception in thread "main" java.lang.UnsatisfiedLinkError: make_c_state
at oracle.jdbc.oci7.OCIDBAccess.make_c_state(Native Method)
at oracle.jdbc.oci7.OCIDBAccess.logon(OCIDBAccess.java:189)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:135)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.ja
va:209)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:183)
at java.sql.DriverManager.getConnection(DriverManager.java:517)
at java.sql.DriverManager.getConnection(DriverManager.java:177)
at Jdbctest.main(jdbctest.java:17)
* After I build up the database and the table in Oracle and before make the connection, do I need to do anything else to make the connection ready?
Thanks,
Peng
nullHi
Me too facing the same problem...
In the URL what is that @ followed by? is it SID/Service name ....
If it is database name what do u mean by database name? from where can I get it...
Thanks is advance...
Please help me in solving this problem
Regards
Suganya S
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Peng Wu ([email protected]):
Hi there,
Is anybody see this error while try to connect to Oracle database with oci driver:
Exception in thread "main" java.lang.UnsatisfiedLinkError: make_c_state
at oracle.jdbc.oci7.OCIDBAccess.make_c_state(Native Method)
at oracle.jdbc.oci7.OCIDBAccess.logon(OCIDBAccess.java:189)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:135)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.ja
va:209)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:183)
at java.sql.DriverManager.getConnection(DriverManager.java:517)
at java.sql.DriverManager.getConnection(DriverManager.java:177)
at Jdbctest.main(jdbctest.java:17)
* After I build up the database and the table in Oracle and before make the connection, do I need to do anything else to make the connection ready?
Thanks,
Peng
<HR></BLOCKQUOTE>
null -
JDBC Connect error on Linux: UnsatisfiedLinkError
Hi,
I'm running one of the sample JDBC programs
provided by Oracle (This installation is on
Linux system). This simple program tries to
connect to Database after accepting all the
parameters. When I run this program, I get
the following error.(I'm using Java2).
Any ideas/solution(s) would be appreciated.
Rgds,
$ java JdbcCheckup
Please enter information to test connection to the database
user: scott
password: tiger
database (a TNSNAME entry): ORCL.localhost
Connecting to the database...Connecting...
Exception in thread "main" java.lang.UnsatisfiedLinkError: make_c_state
at oracle.jdbc.oci7.OCIDBAccess.logon(OCIDBAccess.java:148)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:103)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:148)
at java.sql.DriverManager.getConnection(DriverManager.java:453)
at java.sql.DriverManager.getConnection(DriverManager.java:133)
at JdbcCheckup.main(JdbcCheckup.java:43)
nullHi again,
now, as I found out how to get around the broken forum login, thank you, Dave, for your reply. You were right, the configuration was the problem.
I did Naming.rebind("//localhost/MyServiceName", serviceObject); which worked well on Windows even when connecting remotely. On Linux I had to put the actual IP address of the machine to make it work, i.e. something such as Naming.rebind("//192.162.2.99/MyServiceName", serviceObject); ...simpler than I feared... ...just in case someone encounters similar trouble.
Ulrich -
Jdbc - oci734 problem: UnsatisfiedLinkError
Hello!
I have been struggling with this problem for couple of days now, I just can't figure it out. I am trying to connect to an Oracle 7.3.4. database with JDBC driver oci7. There are no thin drivers available at Oracle for Oracle 7.3.4. All the .dll files needed are in the ORANT/BIN folder, I am running a win2k OS. The classpath is set, according to instructions and classes111.zip placed there. The paths are correct and functioning and still I get UnsatisfiedLinkError. Following is the trace when I try to run the program. I have removed the hostname and SID_name afterwards. I have also tried to write the getConnection in the short version. ("jdbc:oracle:oci7:@name...etc") but nothing seems to work.
Loading the driver
DriverManager.getConnection("jdbc:oracle:oci7:@(description=(address=(host=<hostname>)(protocol=tcp)(port=1526))(connect_data=(sid=<SID _name>)))")
trying driver[className=oracle.jdbc.driver.OracleDriver,oracle.jdbc.driver.O
racleDriver@47e553]
Exception in thread "main" java.lang.UnsatisfiedLinkError: make_c_state at oracle.jdbc.oci7.OCIDBAccess.make_c_state(Native Method) at oracle.jdbc.oci7.OCIDBAccess.logon(OCIDBAccess.java:155) at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:103) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:148)at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at vmd_script.main(vmd_script.java:89)
All help is greatly appreciated on this matter.
Best regards,
ThorToday we've tried the update to a full Oracle 10g system (drivers and database) and the system got much more stable. However, the following exception occurs when workload gets heavy:
java.sql.SQLException: OALL8 is in an inconsistent state.
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.T4C8Oall.init(T4C8Oall.java:308)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:97)
at oracle.jdbc.driver.T4CStatement.execute_for_describe(T4CStatement.java:351)
at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:896)
at oracle.jdbc.driver.T4CStatement.execute_maybe_describe(T4CStatement.java:383)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:986)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1125)
at be.winsome.lib.jdbc.statement.JDBCStatement.executeQuery(JDBCStatement.java:67)
at be.winsome.lib.jdbc.record.RecordSet.executeQuery(RecordSet.java:359)
at be.winsome.lib.jdbc.statement.JDBCStatement.getRecordSet(JDBCStatement.java:48)
This happens with several SQL statements and sometimes (not always) it's the SQL which tries to get the column of type LONG (see above).
Next to that, when more than one user logs in to the web application, this exception occurs much faster and our application server (Resin) hangs on some occasions. Restarting the application server is the only solution as of yet.
Just wanting to update the thread to give as much information to those able to help,
Stijn -
Oracle 8.1.5 and JDBC OCI connection problem
We are running Oracle 8.1.5 on Solaris 7 machine, and our java application running on JDK 1.2 connects to Oracle via JDBC thin driver because we couldn't make jdbc oci driver work.
When we try to connect via oci with the driver originally shipped with 8.1.5, we get:
Exception in thread "main" java.lang.UnsatisfiedLinkError: make_c_state
at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:213)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:198)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:251)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:224)
at java.sql.DriverManager.getConnection(Compiled Code)
at java.sql.DriverManager.getConnection(DriverManager.java:137)
at JDBCTest.main(Compiled Code)
After we downloaded 8.1.6sdk driver from technet and install it, we get:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no ocijdbc8 in java.library.path
at java.lang.Throwable.fillInStackTrace(Native Method)
at java.lang.Throwable.fillInStackTrace(Compiled Code)
at java.lang.Throwable.<init>(Compiled Code)
at java.lang.Error.<init>(Error.java:50)
at java.lang.LinkageError.<init>(LinkageError.java:43)
at java.lang.UnsatisfiedLinkError.<init>(UnsatisfiedLinkError.java:42)
at java.lang.ClassLoader.loadLibrary(Compiled Code)
at java.lang.Runtime.loadLibrary0(Runtime.java:471)
at java.lang.System.loadLibrary(System.java:745)
at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:209)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:198)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:251)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:224)
at java.sql.DriverManager.getConnection(Compiled Code)
at java.sql.DriverManager.getConnection(DriverManager.java:137)
at JDBCTest.main(Compiled Code)
I searched this forum for answer and only relevent answer from oracle was: consult README file! Readme file mentions that lobocijdbc.so file is shared library file for oci connection. That't all. So what?
I added the directory where libocijdbc8.so resides to LD_LIBRARY_PATH, and System.getProperty("java.library.path") shows content of LD_LIBRARY_PATH correctly.
nullPlease this is not simple as simple as checking the classpath and LD_LIBRARY_PATH.
I tried the sample program and the result is the same. As pointed out first by Won, putting the libocijdbc8.so from SDK8.1.6 in the LD_LIBRARY_PATH has no effect at all. It gives the unsatisfied linker error. The sample program fails. However the sample program works fine with the libocijdbc8.so from sdk8.1.5. The library gets loaded. But at the time of creating the connection it gives make_c_state error.
Here is my CLASSPATH, PATH and LD_LIBARY_PATH variables
ORACLE_HOME=/opt/oracle/product/8.1.5
LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/opt/oracle/product/8.1.5/lib
PATH=/usr/openwin/bin:/usr/sbin:/usr/local/bin:/usr/ccs/bin:/usr/ucb:/opt/oracle/product/8.1.5/lib
Hope you are able to provide better answer then check your environment variables.
THE libocijdbc8.so FROM SDK8.1.6 DOES NOT GET LOADED AT ALL.
Waiting for the reply.
Please Help.
Regards,
Vipul Modi.
Novell Inc.
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Won, Taewoong([email protected]):
We are running Oracle 8.1.5 on Solaris 7 machine, and our java application running on JDK 1.2 connects to Oracle via JDBC thin driver because we couldn't make jdbc oci driver work.
When we try to connect via oci with the driver originally shipped with 8.1.5, we get:
Exception in thread "main" java.lang.UnsatisfiedLinkError: make_c_state
at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:213)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:198)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:251)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:224)
at java.sql.DriverManager.getConnection(Compiled Code)
at java.sql.DriverManager.getConnection(DriverManager.java:137)
at JDBCTest.main(Compiled Code)
After we downloaded 8.1.6sdk driver from technet and install it, we get:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no ocijdbc8 in java.library.path
at java.lang.Throwable.fillInStackTrace(Native Method)
at java.lang.Throwable.fillInStackTrace(Compiled Code)
at java.lang.Throwable.<init>(Compiled Code)
at java.lang.Error.<init>(Error.java:50)
at java.lang.LinkageError.<init>(LinkageError.java:43)
at java.lang.UnsatisfiedLinkError.<init>(UnsatisfiedLinkError.java:42)
at java.lang.ClassLoader.loadLibrary(Compiled Code)
at java.lang.Runtime.loadLibrary0(Runtime.java:471)
at java.lang.System.loadLibrary(System.java:745)
at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:209)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:198)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:251)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:224)
at java.sql.DriverManager.getConnection(Compiled Code)
at java.sql.DriverManager.getConnection(DriverManager.java:137)
at JDBCTest.main(Compiled Code)
I searched this forum for answer and only relevent answer from oracle was: consult README file! Readme file mentions that lobocijdbc.so file is shared library file for oci connection. That't all. So what?
I added the directory where libocijdbc8.so resides to LD_LIBRARY_PATH, and System.getProperty("java.library.path") shows content of LD_LIBRARY_PATH correctly.
<HR></BLOCKQUOTE>
null -
Jdbc-problem/Solaris/linux
I tried to start the JdbcCheckup-example from the Oracle 8i-Package for OCI8!
Although i set the LD_LIBRARY_PATH TO:
/opt/app/oracle/product/8.1.5/lib:/opt/app/oracle/product/8.1.5/jdbc/lib/
when i start the Program i get following message:
java.lang.UnsatisfiedLinkError: make_c_state
at oracle.jdbc.oci7.OCIDBAccess.logon(OCIDBAccess.java:148)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:103)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:148)
at java.sql.DriverManager.getConnection(DriverManager.java:83)
at java.sql.DriverManager.getConnection(DriverManager.java:126)
at JdbcCheckup.main(JdbcCheckup.java:43)
Please help me!Please double check your connect string specifies "oci8". That is, "jdbc:oracle:oci8:@...".
Thanks. -
When I use Employee.java from JDBC examples I get:
SIGSEGV received at bffff470 in /home/ora/app/oracle/product/8.0.5/lib/liboci805jdbc.so. Processing terminated
Writing stack trace to javacore11569.txt ... OK
Aborted
How solve this problem?
nullThanks.
Where I can get 8.1.6 client for Linux?
Next question:
I try run examples on Windows NT 4.0
(Oracle 8.1.5, Sun J2SE)
Connection conn =
DriverManager.getConnection ("jdbc:oracle:oci8:@", "SCOTT", "TIGER");
In result error:
Exception in thread "main" java.lang.UnsatisfiedLinkError: make_c_state
at oracle.jdbc.oci8.OCIDBAccess.make_c_state(Native Method)
at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:197)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:142)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:214)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:193)
at java.sql.DriverManager.getConnection(DriverManager.java:457)
at java.sql.DriverManager.getConnection(DriverManager.java:137)
at Employee.main(Employee.java:43)
How solve this trouble?
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by JDBC Development Team:
The problem is that prior to 8.1.6 the OCI drivers are not supported using any VM other than Sun's. So, you have to do one of the following: upgrade to 8.1.6 client, switch to Sun's VM, or use the Thin driver.
The reason that IBM and MS's VMs are not supported is that they do not support NMI and prior to 8.1.6 the OCI driver uses NMI to maintain JDK 1.0.3 compatibility. We dropped support for JDK 1.0.3 in 8.1.6 and switched to JNI. The 8.1.6 drivers are supported on IBM's and MS's VMs.<HR></BLOCKQUOTE>
null -
JDBC Connectivity to Oracle 8i Database
I'am facing problem in connecting to Oracle 8i server using oci8 JDBC driver provided by Oracle.
The statemnet that gives me error is --
Connection conn = DriverManager.getConnection ("jdbc:oracle:oci8:@" + "MIS", "scott", "tiger");
This throws an exception
java.lang.UnsatisfiedLinkError : make_c_state.
Can anyone please tell me where i'am going wrong?
Thanx in advanceReally need to know the platform on which you're trying to execute the code. Each client will need to have the standard Oracle client software installed (with the NET8 configuration application, which provides the 'drivers')
On Oracle's metalink see some responses
http://metalink.oracle.com/metalink/plsql/ml2_documents.showFrameDocument?p_database_id=NOT&p_id=121922.1
Overview
This example provides a minimal test program used to verify that the client
environment is set up properly for running the JDBC OCI driver in order to avoid
receiving the 'unsatisfied link error' caused by an incorrect LD_LIBRARY_PATH.
Program Notes
Simply copy the code below to a file called Test.java. Compile and run the
file from the client environment that you intend to use for your JDBC
applications.
References
[NOTE:118756.1]
Caution
The sample program in this article is provided for educational purposes only
and is NOT supported by Oracle Support Services. It has been tested
internally, however, and works as documented. We do not guarantee that it
will work for you, so be sure to test it in your environment before relying
on it.
Program
- - - - - - - - - - - - - - - - Code begins here - - - - - - - - - - - - - - - -
public class Test {
public static void main (String [] args)
try
System.loadLibrary("ocijdbc8");
System.out.println("Successfully Loaded");
} catch(Exception e)
System.out.println("LD_LIBRARY_PATH is not properly set");
e.printStackTrace();
- - - - - - - - - - - - - - - - Code ends here - - - - - - - - - - - - - - - -
http://metalink.oracle.com/metalink/plsql/ml2_documents.showFrameDocument?p_database_id=NOT&p_id=118756.1
which is:
I'm getting Unsatisfied Link Error with Oci 8 Driver ?
First, make sure that the jdbc-oci shared object (libocijdbc8 or liboci80Xjdbc.so etc.) and ${ORACLE_HOME}/lib are in your path. Then, try this Sample Program. Some times, even after the shared object is loaded successfully, you may get errors such as make_c_state symbol not found. This may happen if your CLASSPATH has classes.zip from JRE 1.1.7 or JDK 1.1.6 and your running java binaries from jdk 1.1.3 or so. Make sure everything (LD_LIBRARY_PATH, CLASSPATH, java binaries) is in SYNC. -
What is java's answer to NCHAR / VARCHAR2?
I have a Oracle8i database (with UTF-8 as its National Language), and using 8i classes12.zip as the OCI8 JDBC Driver. I got a table called UNICODE_ENTRY, with 2 columns UNICODE_TEXT(NVARCHAR(255)) and ENCODING(VARCHAR2(128)).
I'm trying to enter a chinese String encoded in UTF-8 into the UNICODE_TEXT column using the following code segment
PreparedStatement statement = null;
ResultSet resultSet = null;
try {
sql.append( "INSERT INTO unicode_entry ( unicode_text, encoding ) " );
sql.append( "VALUES( ?, ? )" );
statement = connection.prepareStatement(sql.toString());
java.io.InputStream ins = new java.io.ByteArrayInputStream(text.getBytes(encoding));
java.io.Reader reader = new java.io.BufferedReader(new java.io.InputStreamReader(ins, encoding));
statement.setCharacterStream(1, reader, text.length() );
statement.setString(2, encoding);
statement.executeUpdate();
But this doesnt seem to work, it giving the following error...
java.sql.SQLException: ORA-12704: character set mismatch
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
at oracle.jdbc.oci8.OCIDBAccess.check_error(OCIDBAccess.java:1597)
at oracle.jdbc.oci8.OCIDBAccess.executeFetch(OCIDBAccess.java:1209)
at oracle.jdbc.oci8.OCIDBAccess.parseExecuteFetch(OCIDBAccess.java:1321)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1446)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1371)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1900)
at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:693)
at UnicodeAccess.writeToOracleDatabase(UnicodeAccess.java:239)
at UnicodeAccess.main(UnicodeAccess.java:43)
I tried using simply statement.setString(1, text); That didnt work either, gave the same error.
Then I tried using Statement instead of PreparedStatement, that didnt work either. Same error!
The probable solution is to use the following lines of code:
statement = connection.prepareStatement(sql.toString());
((OraclePreparedStatement)statement).setFormOfUse(1, OraclePreparedStatement.FORM_NCHAR);
statement.setString(1,text);
But that would work only with a 9i Database and a 9i Driver.
Can anyone suggest me where I'm going wrong, or how to simply enter a chinese String encoded into UTF-8 to NVARCHR2 column in Oracle?
Thanks in advance
PDHi Jan,
Thanks for you mail, I actually didnt consider using 9i drivers for a 8i database because we got some 8i driver specific code. Well, I tried to test the code sepatately, and here is what I came with...
The code works fine with thin drivers, but the moment I try to use OCI8, I get the following error
Exception in thread "main" java.lang.UnsatisfiedLinkError: make_c_state
at oracle.jdbc.oci8.OCIDBAccess.make_c_state(Native Method)
at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:397)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:346)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at UnicodeAccess.getConnectionToOracle(UnicodeAccess.java:193)
at UnicodeAccess.getConnection(UnicodeAccess.java:167)
at UnicodeAccess.main(UnicodeAccess.java:41)
Any idea, why this is happening?
:p -
I use Oracle Lite 9i and it works very good, but I can't use the WSH tool.
The official documentation keeps the paragraph about Scripting Language for Mobile Server. Using the Scripting Language for Mobile Server provides automatically creating users. groups and etc
for example, I use
D:\oracle\ora_lite\Mobile\Server\bin>wsh -c D:\script.ini MOBILEADMIN/MOBILEADMI
N@MYTNS
as in the documentation
wsh -c <filename.ini> mobileadmin/[email protected]
result:
Exception in thread "main" java.lang.UnsatisfiedLinkError: make_c_state
at oracle.jdbc.oci8.OCIDBAccess.make_c_state(Native Method)
at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:309)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:307)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.ja
va:442)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:321)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at oracle.lite.web.JupConnection.<init>(JupConnection.java:55)
at oracle.lite.web.JupACL.getConnection(JupACL.java:146)
at oracle.lite.web.JupUserAuthenticate.checkUser(JupUserAuthenticate.jav
a:162)
at oracle.lite.web.JupUserAuthenticate.<init>(JupUserAuthenticate.java:5
6)
at oracle.lite.web.resource.ResourceFactory.getInstance(ResourceFactory.
java:134)
at oracle.lite.web.JupACL.<init>(JupACL.java:172)
at oracle.lite.web.Shell.main(Shell.java:140)
How can I correct the error?Unsatisfied link errors are usually an indicator that the shared library or DLL cannot be found in the environment. In your case is %ORACLE_HOME%\lib in your PATH when you try to run?
-
Proper Runtime Environment for Servlets utilizing SQLJ
I've developed some servlets that utilize SQLJ. They run fine
on the Development system. I want to install the servlets
on another webserver for testing. Is it necessary to install the
entire JDeveloper 2.0 package on the test webserver, just to
provide the proper environment for running the servlets?
I tried to run the servlets on the test webserver by copying
over the java classes found in the JDeveloper 2.0 "jdbc" and
"sqlj" subdirectories to the webserver's "servlet" subdirectory,
and expanding the "zip" files in the "servlet" subdirectory.
I also copied over the contents of JDeveloper's "bin", "java\bin"
and "jdbc\bin" subdirectories, and added the subdirectories
pathnames to the PATH environment variable, but the servlets
still do not run correctly, nor do they raise any java exceptions
before they abnormally terminate. The webserver (Sun's
java webserver) does not, however, "crash" or stop running
when the servlet terminates abnormally.
Again, my question is: does JDeveloper 2.0 have to be installed
in its entirety on a test webserver, just to provide a
proper runtime environment for servlets that utilize SQLJ?
The test webserver is running Windows/NT 4.0 and Sun's
Java Web Server 1.1.3.
Thanks,
--- Bill Angel
CSC/ITS
Chantilly, VA.
nullRaghu:
Thanks for the info (below). Using the current production copy
of JDeveloper, I've successfully run servlets containing SQLJ.
I am attempting to put together a deployment package for a
database servlet that utilizes SQLJ. When the java webserver
attempts to initialise the servlet and connect to the database,
an exception is thrown.
The SQLJ Statement causing the exception is:
conn = DriverManager.getConnection(connect_string,"its1","its1");
The exception is:
java.lang.UnsatisfiedLinkError: make_c_state
at oracle.jdbc.oci7.OCIDBAccess.logon(OCIDBAccess. java:142)
at
oracle.jdbc.driver.OracleConnection.(init)(OracleConnection.java:
93)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:146)
at java.sql.DriverManager.getConnection(Compiled Code)
at java.sql.DriverManager.getConnection(DriverManager.java:134)
I assume that "make_c_state" is a link to a "dll" package. Could
you (or someone else) tell me what package I need to include in
the distribution in order to satisfy this linkage requirement?
I am attempting to put together a distribution package that
does not require installing the entire JDeveloper 2.0 suite on
the target marchine running the webserver ,which I believe it is
necessary to do when following the instructions for deploying
database servlets via the instructions contained in the
JDeveloper on-line help information.
I have a second, related question. Our facility will be
installing a new "production" webserver that will be running
UNIX, not Windows/NT. Will it be possible to deploy the java
servlets (which utilize SQLJ) on this platform? To my knowledge,
JDeveloper 2.0 is currently available only for the Windows/NT
platform.
Thanks,
--- Bill Angel
JDeveloper Team (guest) wrote:
: Hi Bill,
: The build 184 was beta release and is outdated. Download the
: production copy of JDeveloper 2.0 (buid 343) and you would be
: able to see all the help I was mentioning earlier.
: thanks and best regards
: raghu
null -
Doing JDBC over TCPIP from ICC's DPA system IX1 to any external systems is blocked by the SAP firewall.
Due to SAP's internal security code, this type of traffic can't be allowed.About JDBC-OCI, in java source code it will call oci function
for db access via ocijdbc dll(jni), so you must sure that your
jdbc driver is the same version as your oci dll.
For example, if you use jdbc-driver for oracle 8.0.5, but you
use oci client not 8.0.5, you will get this Exception
java.lang.UnsatisfiedLinkError: make_c_state
You can try to update your jdbc driver for your client. You also
pay attention to place the oracle jdbc driver to the first
position in you classpath. Because you may use other jar which
may also includ old oracle jdbc driver. For example, weblogic.jar -
Cannot connect using oracle jdbc oci8 driver
I am using Oracle 8.1.5 JDBC oci8 driver, but when try to connect, always got ERROR: java.lang.UnsatisfiedLinkError:make_c_state
With the same code, but change to connect with thin driver, it works fine. Pls tell me the problem. Thank you.Hi,
Here is the snippet code from oracle,
// You need to import the java.sql package to use JDBC
import java.sql.*;
// We import java.io to be able to read from the command line
import java.io.*;
class JdbcCheckup
public static void main (String args [])
throws SQLException, IOException
// Load the Oracle JDBC driver
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
// Prompt the user for connect information
System.out.println ("Please enter information to test connection to the database");
String user;
String password;
String database;
user = readEntry ("user: ");
int slash_index = user.indexOf ('/');
if (slash_index != -1)
password = user.substring (slash_index + 1);
user = user.substring (0, slash_index);
else
password = readEntry ("password: ");
database = readEntry ("database (a TNSNAME entry): ");
System.out.print ("Connecting to the database...");
System.out.flush ();
System.out.println ("Connecting...");
Connection conn =
DriverManager.getConnection ("jdbc:oracle:oci8:@" + database,
user, password);
System.out.println ("connected.");
// Create a statement
Statement stmt = conn.createStatement ();
// Do the SQL "Hello World" thing
ResultSet rset = stmt.executeQuery ("select 'Hello World' from dual");
while (rset.next ())
System.out.println (rset.getString (1));
System.out.println ("Your JDBC installation is correct.");
// close the resultSet
rset.close();
// Close the statement
stmt.close();
// Close the connection
conn.close();
// Utility function to read a line from standard input
static String readEntry (String prompt)
try
StringBuffer buffer = new StringBuffer ();
System.out.print (prompt);
System.out.flush ();
int c = System.in.read ();
while (c != '\n' && c != -1)
buffer.append ((char)c);
c = System.in.read ();
return buffer.toString ().trim ();
catch (IOException e)
return "";
This code can be run without specifying a TNSNAME connection string, as the oci8 jdbc driver will take localhost as default.
OR
Only specifying the TNSNAME is enough, i.e. edit %ORACLE_HOME%\network\ADMIN\TNSNAMES.ORA file and locate the XXXXX.WORLD entry in the file. This is the TNSNAME entry referred to.
Without TNSNAME entry you can re-run,
%ORACLE_HOME%\jdbc\demo\samples\oci8\basic-samples> java JdbcCheckup
Please enter information to test connection to the database
user: system
password: manager
database (a TNSNAME entry):
Connecting to the database...Connecting...
connected.
Hello World
Your JDBC installation is correct.
Hope that helps.
Best Luck!
Senthil Babu J -
IFS-40066: Error when starting ifsstartdomain
I get this exception when I try to start ifsstartdomain: 'oracle.ifs.common.IfsException: IFS-40066: Remoted method threw exception java.lang.UnsatisfiedLinkError: make_c_state'.
Any help in resloving this will be greatly appreciated.Hi Alan,
your help with this is most appreciated!
I ran your suggested generated SQL script, but at first the same problem was occuring with the first ALTER statement that happened to be generated.
However, your explanation mentioned the view 'odm_publicobject' and although this view wasn't in the resulting SQL, I found that compiling the similarly named views in this order worked...
ODMV_PUBLICOBJECT
ODBV_PUBLICOBJECT
ODMBS_PUBLICOBJECT
ODMS_PUBLICOBJECT
ODUS_PUBLICOBJECT
ODUV_PUBLICOBJECT
(Perhaps other combinations would have worked, but in anycase certainly some orders didn't work...)
At this point, running the complete original generated SQL script then worked successfully and low and behold as you predicted, IFS started successfully.
(I didn't actually bother removing these 6 already re-compiled views from the original script, so they got re-compiled twice...)
So this means that we can now actually stop and start IFS as required without re-installing IFS everytime - which is obviously great!
I will certainly be watching out for 9.0.3, but my understanding for the reason we were going with 9.0.1 in the first place was that this was included in the RDBMS CD-pack, whereas I believe from 9.0.2 onwards it was seperately licensed. I will check with our Oracle dba's.
But at least we can prove in principle now whether it will suit our requirements....
Once again, many thanks for looking into this at such a deep level - very much appreciated.
Graham.
Maybe you are looking for
-
Can I have two POP3 Accounts on one mail?
Hello, I'm trying to manage two (2) POP accounts using the Apple e-mail client. One works the other doesn't.
-
How do I set up different hardware controls for different patches in mainstage?
I'm using Mainstage 3.0.4 and a Novation Impulse. I created a concert, with the drawbar organ as my first and most important patch. I assigned the hardware controls on the Novation exactly how I wanted them, with the sliders controlling the drawbars,
-
Batch Determination at Sales order
Dear Friends The batch determination at Sales order level, the selection criteria shows characteristic LOBM_LFDAT, which is Batch determination delivery date however this date differs from the actual delivery date from schedule line or the requested
-
Firing sequence of forms6i triggers
Good Morning, Is the firing sequence of forms6i triggers is same as forms 4.5 . Is there any difference ? If so, please provide the sequential order of trigger Thanks, Rinz
-
10.4.6 Combo Update has slowed my iMac G5
Hi, Ever since I installed the Mac OS X 10.4.6 Combo Update, my iMac G5 (Rev B) seems to be running very slow!! For e.g., when I restart my Mac, the grey spinning ball appears on the blue background for 20-25 minutes. Additional info: I generally con