首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Java程序中运行dbisql

在Java程序中运行dbisql
EN

Stack Overflow用户
提问于 2016-09-13 07:11:09
回答 1查看 401关注 0票数 0

我在红帽7号服务器上建立了一个Sybase-IQ 16.0。

我尝试将dbisql用于Sybase中的大容量加载数据。

我在Sybase服务器上的命令已经成功了:

dbisql -nogui -c -c -onerror继续读/EXT_LOAD/Load_Test_Data.SQL

但是我需要根据项目需求在java程序中这样做,所以我的程序如下所示:

代码语言:javascript
复制
import java.io.*;
import java.sql.*;
import java.util.*;
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Test {
public static void main(String[] args) throws SQLException {

String dburl = "dbisql -nogui -c 'UID=DBA;PWD=sql;DWN=iqtry;host=172.16.50.137:2643;' -onerror continue READ /sybase/IQ_LOAD/load_DBA.atest.sql";

// Connect to Sybase Database
Connection con = DriverManager.getConnection(dburl);
Statement statement = con.createStatement();
}}

我可以在Syabse Server中编译,但是当我运行这个类时,我得到了以下错误:

线程"main“java.sql.SQLException中的异常:找不到合适的驱动程序 jdbc:sqlanywhere:uid=DBA;pwd=sql;eng=iqtry;database=atest;links=tcpip(host=172. 16.50.137,2643) 在java.sql.DriverManager.getConnection(DriverManager.java:689) 在java.sql.DriverManager.getConnection(DriverManager.java:270) 在Test.main(ConnectIQ.java:30)

从我的问题出发,我已经尝试在我目前的道路上设置类路径。

设置classpath = ./sybase/IQ-16_0/java/sajdbc4.jar 设置classpath =./sybase/IQ-16_0/java/java 4.jar

但一切都不能工作。

EN

回答 1

Stack Overflow用户

发布于 2017-02-16 14:11:37

dbisql实用程序是命令行实用程序,不应该与Java一起使用。它可以通过Shells使用,比如Bash,或者在GUI环境中使用。

sajdbc4.jar文件是SAP的JDBC驱动程序。正如您已经提到的,它位于CLASSPATH中,最好使用它的IQDataSource类,它从JDBC标准实现DataSource接口

一个简单的代码是:

代码语言:javascript
复制
IQDataSource iqDataSource = new IQDataSource();
iqDataSource.setURL(jdbcUrl);
iqDataSource.setUser(username);
iqDataSource.setPassword(password);

另一个提示:记住,SAP的每个版本都与JDBC驱动程序的特定构建相关联。验证您正在为正确的平台使用正确的版本目标。

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39464140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档