Witam wszystkich. Nie ukrywam, że liczę na Waszą pomoc w rozwiązaniu problemu. Otóż chciałbym, wprowadzać wartości do bazy danych SQL server przykładowo w dwóch wątkach. Poniżej przedstawiam sposób w jaki zamierzałem to zrobić:
public class Produkt implements Runnable {
public void run() {
Generator gen = new Generator();
try {
Connection con = DriverManager
.getConnection(
"jdbc:sqlserver://localhost:1433; databaseName=KartaRabatowa",
"michal", "test");
for (int i = 1; i <= 2000; i++) {
String query = "insert into Produkty values('"
+ gen.znakiZwykle() + "','" + gen.generujKwote(0, 400) + "')";
sendQueryAlt(con, query);
}
con.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
public class main {
static int czas = 10000;
public static void main(String[] args) throws UnknownHostException {
Produkt p1 = new Produkt();
Produkt p2 = new Produkt();
Thread watekPierwszy = new Thread(p1);
Thread watekDrugi= new Thread(p2);
watekPierwszy.start();
watekDrugi.start();
}
}
Problem polega na tym, że w przypadku gdy puszczę wyłącznie jeden wątek wszystko działa prawidłowo, tzn dane ładują się do bazy, ale jeżeli próbuję puścić dwa wątki otrzymuję komunikat:
No suitable driver found for jdbc//localhost:1433; databaseName=KartaRabatowa
czyli to co dzieje się w pierwszym wątku działa, ale wywala się na drugim. Proszę o podpowiedź w jaki sposób mógłbym rozwiązać ten problem.
PS. Dodałem tylko te części kodu które wydają się być istotne ze względu na omawiany problem.