INFORMIX JDBC连接出错,急急急!!!

doo_fu 2004-06-27 11:51:30
一、informix数据库安装在vmhost01机器上(sco unix):
1、/etc/services文件内容:
......
vmserver 1533/tcp vmserver

2、$INFORMIXDIR/etc/sqlhosts文件内容:
demo_on onipcshm on_hostname on_servername
demo_se seipcpip se_hostname sqlexec
vmserver ontlitcp scovm01 vmserver

3、informix用户启动(oninit)后查看数据库状态,ok:
$ onstat -
INFORMIX-OnLine Version 7.22.UC2 -- On-Line -- Up 00:17:29 -- 15256 Kbytes



三、IBM Informix JDBC Driver 2.21.JC5安装在win2k机器上
1、网络是ok的:
C:\Program Files\IBM\Informix JDBC Driver 2.21.JC5\demo\basic>ping vmhost01
Pinging vmhost01 [192.168.10.1] with 32 bytes of data:
Reply from 192.168.10.1: bytes=32 time<10ms TTL=128
Reply from 192.168.10.1: bytes=32 time<10ms TTL=128
Reply from 192.168.10.1: bytes=32 time<10ms TTL=128
Reply from 192.168.10.1: bytes=32 time<10ms TTL=128
Ping statistics for 192.168.10.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

2、CLASSPATH路径已设置:
C:\Program Files\IBM\Informix JDBC Driver 2.21.JC5\demo\basic>set classpath
CLASSPATH=C:\Program Files\Altova\xmlspy\XMLSpyInterface.jar;C:\Program Files\IB
M\Informix JDBC Driver 2.21.JC5\lib;C:\Program Files\IBM\Informix JDBC Driver 2.
21.JC5\lib\ifxjdbc.jar;

3、运行IBM Informix JDBC Driver 2.21.JC5自带的Demo:
/****************************************************************************
* *
* Licensed Materials - Property of IBM *
* *
* "Restricted Materials of IBM" *
* *
* IBM Informix JDBC Driver *
* (c) Copyright IBM Corporation 1998, 2002 All rights reserved. *
* *
****************************************************************************/
/*****************************************************************************
*
* Title: CreateDB.java
*
* Description: Demo how to create a database
*
* An example of running the program:
*
* java CreateDB
* 'jdbc:informix-sqli://myhost:1533:informixserver=myserver;user=<username>;password=<password>'
*
* Expected result:
*
* >>>Create Database test.
* URL = "jdbc:informix-sqli://myhost:1533:informixserver=myserver;user=<username>;password=<password>"
* >>>End of Create Database test.
*
***************************************************************************
*/

import java.sql.*;
import java.util.*;

public class CreateDB
{

public static void main(String[] args)
{
if (args.length == 0)
{
System.out.println("FAILED: connection URL must be provided in order to run the demo!");
return;
}

String url = args[0];
Connection conn = null;
int rc;
String cmd=null;

String testName = "Create Database";

System.out.println(">>>" + testName + " test.");
System.out.println("URL = \"" + url + "\"");

// INFORMIX_EXTEXT_BEGIN Create1.jav
try
{
Class.forName("com.informix.jdbc.IfxDriver");
}
catch (Exception e)
{
System.out.println("FAILED: failed to load Informix JDBC driver.");
e.printStackTrace();
return;
}
// INFORMIX_EXTEXT_END Create1.jav
// INFORMIX_EXTEXT_BEGIN Create2.jav
try
{
conn = DriverManager.getConnection(url);
}
catch (SQLException e)
{
System.out.println("FAILED: failed to connect!");
System.out.println("ERROR: " + e.getMessage());
e.printStackTrace();
return;
}
// INFORMIX_EXTEXT_END Create2.jav

// Drop database before starting - ignore errors
try
{
Statement dstmt = conn.createStatement();
dstmt.executeUpdate("drop database testDB");
}
catch (SQLException e)
{ ; }


try
{
Statement stmt = conn.createStatement();
cmd = "create database testDB;";
rc = stmt.executeUpdate(cmd);
stmt.close();
}
catch (SQLException e)
{
System.out.println("FAILED: execution failed - statement: " + cmd);
System.out.println("ERROR: " + e.getMessage());
e.printStackTrace();
return;
}

try
{
conn.close();
}
catch (SQLException e)
{
System.out.println("FAILED: failed to close the connection!");
e.printStackTrace();
return;
}
System.out.println(">>>End of " + testName + " test.");
}
}


4、出错如下:
C:\Program Files\IBM\Informix JDBC Driver 2.21.JC5\demo\basic>java CreateDB jdbc
:informix-sqli://vmhost01:1533:informixserver=vmserver;user=informix;password=in
formix
>>>Create Database test.
URL = "jdbc:informix-sqli://vmhost01:1533:informixserver=vmserver;user=informix;
password=informix"
FAILED: failed to connect!
ERROR: com.informix.asf.IfxASFException: Attempt to connect to database server (
vmserver) failed.
java.sql.SQLException: com.informix.asf.IfxASFException: Attempt to connect to d
atabase server (vmserver) failed.
at com.informix.jdbc.IfxSqliConnect.<init>(IfxSqliConnect.java:950)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
orAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
onstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at com.informix.jdbc.IfxDriver.connect(IfxDriver.java:243)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:193)
at CreateDB.main(CreateDB.java:72)
...全文
414 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
tyffly 2004-07-19
  • 打赏
  • 举报
回复
vmserver ontlitcp "scovm01" vmserver
你不是说是"vmhost01",而且最好端口号与实例不要同名
asiaec 2004-07-16
  • 打赏
  • 举报
回复
用informix的cli 连连先?

1,194

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 Informix
社区管理员
  • Informix社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧