powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Java.sql.SQLException: No suitable driver found for
7 сообщений из 7, страница 1 из 1
Java.sql.SQLException: No suitable driver found for
    #38284275
vladdv89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть следующая программа, которая читает данные из текстового файла, формирует на их основе строки для подключения к `postgresql` базе данных, затем подключается к базе данных и результаты запроса записываются в текстовый файл:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
	/*
	 * To change this template, choose Tools | Templates
	 * and open the template in the editor.
	 */

	/**
	 *
	 * @author Asus
	 */
	import java.io.*;
	import java.sql.*;
	import java.util.ArrayList;

	public class Readdata {

		/**
		 * @param args the command line arguments
		 */
				public static void configureForNexentaSearch(String fileName, String url, String user, String password)
				{
					 String hostAddress="";
					 String databaseName="";
					 try
					 {
						BufferedReader confFileForNexentaSearch = new BufferedReader(new FileReader(fileName));
						hostAddress = confFileForNexentaSearch.readLine();
						databaseName = confFileForNexentaSearch.readLine();
						user  = confFileForNexentaSearch.readLine();
						password = confFileForNexentaSearch.readLine();
						confFileForNexentaSearch.close();
					 }
					 catch(FileNotFoundException e)
					 {
						System.out.println("File was not found");
						System.out.println("or could not be opened.");
					 }
					 catch(IOException e)
					 {
						System.out.println("Error reading.");
					 }
					url="jdbc:postgresql://"+hostAddress+":5432/"+databaseName;
				   PrintWriter debugFileForParams = null;
				   try
				   {
						debugFileForParams = new PrintWriter(new FileOutputStream("D:/urluserpassword.txt"));
				   }
				   catch(FileNotFoundException e)
				   {
						System.exit(0);
				   }
				   debugFileForParams.println(url);
				   debugFileForParams.println(user);
				   debugFileForParams.println(password);
				   debugFileForParams.close();				
				}	
			public static void readUsingDataFromDatabase(ArrayList<String> therms, ArrayList<Integer> idOfFiles, ArrayList<Integer> countThermsInFiles, String url, String user, String password, int countFiles)
			{
				Connection con = null;
				Statement st = null;
				ResultSet rs = null; 		
				String currentFile;
				int countThermsInFile;
				int countRows=0;
				try
				{
					Class.forName("org.postgresql.Driver");
					con = DriverManager.getConnection(url, user, password);
							st = con.createStatement();
							rs = st.executeQuery("SELECT a.value, c.value, c.id FROM therms a INNER JOIN therm_occurs b ON b.therm_id = a.id INNER JOIN fs_entries c ON b.file_id = c.id ORDER BY a.value, c.value, c.id");
					rs.first();
					therms.add(rs.getString(1));
					countThermsInFile=1; 
					currentFile=rs.getString(2); 
					idOfFiles.add(rs.getInt(3)); 
					countFiles=1;
					countRows=1;
					while (rs.next()) 
					{ 
						if (currentFile!=rs.getString(2)) 
							{
								countThermsInFiles.add(countThermsInFile); 
								countFiles+=1; 
								currentFile=rs.getString(2); 
								countThermsInFile=1; 
								idOfFiles.add(rs.getInt(3)); 
							}
						else
							{
								countThermsInFile+=1; 
							}; 
						therms.add(rs.getString(1));
						countRows+=1;
					};
					countThermsInFiles.add(countThermsInFile); 
				}
				catch (SQLException e) 
				{
					System.out.println("Connection Failed! Check output console");
					e.printStackTrace();
				}
				catch (ClassNotFoundException e)
				{
					e.printStackTrace();
				}
			   PrintWriter debugFile = null;
			   PrintWriter debugFileForTherms = null;
			   PrintWriter debugFileForIds = null;
			   PrintWriter debugFileForCounts = null;
			   try
			   {
					debugFile = new PrintWriter(new FileOutputStream("D:/resultset.txt"));
			   }
			   catch(FileNotFoundException e)
			   {
					System.exit(0);
			   }
			   //debugFile.println(countRows);
			   debugFile.println(countFiles);
			   debugFile.println();
			   
			   for (int i=0; i<therms.size(); i++)
			   {	 
					debugFile.println(therms.get(i));
			   }
			   debugFile.println();
			   
			   for (int i=0; i<idOfFiles.size(); i++)
			   {	 
					debugFile.println(idOfFiles.get(i));
			   }
			   debugFile.println();		   
			   
			   for (int i=0; i<countThermsInFiles.size(); i++)
			   {	 
					debugFile.println(countThermsInFiles.get(i));
			   }
			   debugFile.println();
			   
			   debugFile.close();
			}
		public static void main(String[] args) {
			// TODO code application logic here
						int countFiles=0; 
				String url = "";
				String user = "";
				String password = "";

				configureForNexentaSearch("D:/paramsforconnection.txt", url, user, password);


				ArrayList<String> therms = new ArrayList<String>();
				ArrayList<Integer> idOfFiles = new ArrayList<Integer>();
				ArrayList<Integer> countThermsInFiles = new ArrayList<Integer>();

				readUsingDataFromDatabase(therms, idOfFiles, countThermsInFiles, url, user, password, countFiles);	
		}
	}


В результате выполнения программы `netbeans` выдает следующую ошибку

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
	run:
	Connection Failed! Check output console
	java.sql.SQLException: No suitable driver found for 
		at java.sql.DriverManager.getConnection(DriverManager.java:604)
		at java.sql.DriverManager.getConnection(DriverManager.java:221)
		at Readdata.readUsingDataFromDatabase(Readdata.java:67)
		at Readdata.main(Readdata.java:155)
	ПОСТРОЕНИЕ УСПЕШНО ЗАВЕРШЕНО (общее время: 0 секунд)


И это несмотря на свойства проекта, указанные на рисунке



Если кто знает - ответьте пожалуйста, очень надо.
...
Рейтинг: 0 / 0
Java.sql.SQLException: No suitable driver found for
    #38284292
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 03.06.2013 20:22, vladdv89 wrote:

> Есть следующая программа, которая читает данные из текстового файла, формирует на их основе строки для подключения к
....
Код: java
1.
readUsingDataFromDatabase(therms,  idOfFiles,  countThermsInFiles,  url,  user,  password,  countFiles);	



Выведи значение переменной url - чему оно равно?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Java.sql.SQLException: No suitable driver found for
    #38284307
vladdv89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov,

вывод в файл

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
				   PrintWriter debugFileForParams = null;
				   try
				   {
						debugFileForParams = new PrintWriter(new FileOutputStream("D:/urluserpassword.txt"));
				   }
				   catch(FileNotFoundException e)
				   {
						System.exit(0);
				   }
				   debugFileForParams.println(url);
				   debugFileForParams.println(user);
				   debugFileForParams.println(password);
				   debugFileForParams.close();				



показал, что

url=jdbc:postgresql://192.168.1.8:5432/NexentaSearch
...
Рейтинг: 0 / 0
Java.sql.SQLException: No suitable driver found for
    #38284324
just_vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladdv89,
Вас спрашивали о переменной, которая передается в readUsingDataFromDatabase, а не то что внутри configureForNexentaSearch.
Дайте угадаю, раньше в программе был класс с полями?
...
Рейтинг: 0 / 0
Java.sql.SQLException: No suitable driver found for
    #38284340
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 03.06.2013 20:48, vladdv89 wrote:

> вывод в файл показал, что
>
> url=jdbc:postgresql://192.168.1.8:5432/NexentaSearch

А ты копни глубже и глянь чему равен url перед DriverManager.getConnection(). Заодно проверь такое:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
   public static void main(String args[]) {
     String url = "";
     System.out.println("url=" + url);
     get(url);
     System.out.println("url=" + url);
   }

   public static void get(String url) {
     url = "XXX";
   }


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Java.sql.SQLException: No suitable driver found for
    #38284362
vladdv89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov,

все стало понятно. Но каким же образом процедура (функция, не возвращающая значение) может изменить значения входных параметров? Функцию использовать не могу, т. к. надо изменить значения нескольких входных параметров.
...
Рейтинг: 0 / 0
Java.sql.SQLException: No suitable driver found for
    #38284494
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 03.06.2013 21:50, vladdv89 wrote:

> все стало понятно. Но каким же образом процедура (функция, не возвращающая значение) может изменить значения входных
> параметров? Функцию использовать не могу, т. к. надо изменить значения нескольких входных параметров.

Создай свой класс с требуемыми полями и возвращай его экземпляр. Или из серии "некрасиво но спасибо":

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
   public static void main(String args[]) {
     String[] connectionParams = getConnectionParams();
     for (String parameter: connectionParams) {
       System.out.println(parameter);
     }
   }

   public static String[] getConnectionParams() {
     String[] result = {"<url>", "<username>", "<password>"};
     return result;
   }




Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Java.sql.SQLException: No suitable driver found for
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]