【发布时间】:2020-10-02 03:00:03
【问题描述】:
我一直在尝试运行以下代码。当我尝试运行它时,主类不会加载或其他 jar 文件不会
这是我的代码
import java.sql.*;
import java.util.Scanner;
import com.teradata.jdbc.TeraDriver;
public class TeradataSample
{
public static void main(String[] args) throws Exception
{
String connurl="jdbc:teradata://path";
Scanner myObj = new Scanner(System.in); // Create a Scanner
System.out.println("Enter username");
String userName = myObj.nextLine();
System.out.println("Enter password");
String psswd = myObj.nextLine();
Connection conn=DriverManager.getConnection(connurl, userName, psswd);
System.out.println(" Connected to Teradata. \n");
System.out.println("Enter your query");
String query = myObj.nextLine();
Statement stmt=conn.createStatement();
System.out.println("\n Statement object created. \n");
ResultSet rs=stmt.executeQuery(query);
while(rs.next())
{
String col1=rs.getString(1);
System.out.println("col1="+col1);
}
stmt.close();
System.out.println("\n Statement object closed. \n");
conn.close();
System.out.println(" Connection to Teradata closed. \n");
}
}
在编译时,我使用了
javac TeradataSample.java
我收到以下错误
error: package com.teradata.jdbc does not exist
import com.teradata.jdbc.TeraDriver;
^
执行, 所以我尝试加载 terajdbc4.jar 的类路径,它实际上与程序 Teradatasample.java 位于同一目录中。
javac -cp . TeradataSample.java
没有错误
为了执行, 我试过了。
java TeradataSample
运行给我错误
Error: Could not find or load main class TeradataSample
所以我想到了包含类路径并尝试了这个
java -cp . TeradataSample
现在它给了我以下错误
Exception in thread "main" java.sql.SQLException: No suitable driver found for jdbc:teradata://path
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at TeradataSample.main(TeradataSample.java:38)
它正在加载主类而不是 jar 文件。
因此我尝试了这个
java -cp .;C:\Test\* TeradataSample
回到第一格,我得到了以下错误
Error: Could not find or load main class TeradataSample
我无法设置类路径变量,因为我没有管理员权限。
请帮我解决这个问题。
【问题讨论】:
-
你真的把它们添加到你的类路径了吗?
-
如何将
-jar terajdbc4.jar添加到您的javac和java命令中。 -
您的 jar 文件是否包含您正在使用的特定数据库的驱动程序?
-
@Stultuske 我无法将它们添加到类路径,因为我没有管理员权限
-
好吧,这就是它不起作用的原因
标签: java jdbc jar classpath teradata