我在学习如何使用jdbc。 通常连接到Sybase数据库在Solaris上使用:在solaris中使用jdbc连接到sybase
isql -Usa -Pxxxxxx -Dxxxxxx
其得到由above.and连接到数据库,我可以rightaway执行查询。
现在我正在尝试使用java做类似的事情。
下面是我的代码。
public class SKRSample
{
public static void main(String args[])
{
try
{
Class.forName("com.sybase.jdbc.SybDriver");
}
catch (ClassNotFoundException cnfe)
{
System.err.println("Error loading driver: " + cnfe);
}
try
{
String host = "172.16.65.33";
String dbName = "bsmdb";
int port = 1234;
String url = "jdbc:sybase:Tds:" + host + ":" + port + ":" + "?SERVICENAME=" + dbName;
for (int n = 0; n<args.length; n++) {
if (args[n].equals("-u")) user = args[++n];
else if (args[n].equals("-p")) password = args[++n];
else throw new IllegalArgumentException("Unknown argument.");
}
Connection con = DriverManager.getConnection(url, user, password);//here is the error.
代码的最后一行是存在运行时错误的地方。
我编译的代码,如下execueted:
setenv LOGIN "sa"
setenv PASSWORD "xxxxxxx"
javac SKRSample.java
java SKRSample -u $LOGIN -p $PASSWORD
我得到的错误是:
Unexpected exception : java.sql.SQLException: No suitable driver found for jdbc:sybase:Tds:172.16.65.33:1234:?SERVICENAME=bsmdb, sqlstate = 08001
我有一个疑问,无论是主机不正确或端口不正确或我正在构建的网址是不正确的。如果根本不正确,可以获取主机名。如果问题存在,如何获取端口号。 但我不确定这个问题。任何人都可以给我一些关于问题出在哪里的问题。
请问这是[标签:sybase-asa],[标签:sybase-ase],[标签:sybase-iq]还是[标签:sqlanywhere]?试图清理[标签:sybase]标签... – 2013-03-15 07:44:51