Díky ti moc, je to hodně užitečný pro mě.
Až se mi to podaří aplikovat tak se s výsledkem pochlubím tady.
Ještě tu mám jednu diskuzi o tom:
http://stackoverflow.com/questions/971344/java-based-ocr-sdk-api?lq=1
Díky ti moc, je to hodně užitečný pro mě.
Až se mi to podaří aplikovat tak se s výsledkem pochlubím tady.
Ještě tu mám jednu diskuzi o tom:
http://stackoverflow.com/questions/971344/java-based-ocr-sdk-api?lq=1
ještě jsem objevil něco, ale nemám to zatím ozkoušené...
tohle: http://sourceforge.net/projects/tess4j/
Nevěděl by někdo kde najít nějakou pomoc s kódem na OCR v javě nebo C++? Představoval bych si, že to převede JPG nebo PDF na text. Asi je to blbý dotaz, protože to nebude vůbec jednoduché.
Díky
už to funguje, jen nevím jak použít block finale. Píše mi to, že musím to mít v try catch. Nevíte někdo jak tomu zabránít, v případě toho posledního catch mě štve, že vždycky hodí chybu.
package DB;
import java.sql.*;
public class db01
{
String url="jdbc:odbc:myDB";
String jmeno;
String prijmeni;
static Connection dB;
Statement pozadavek;
String dotaz;
static ResultSet vysledky;
public db01()
{
connect();
}
public void connect()
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
dB = DriverManager.getConnection(url);
} catch (ClassNotFoundException v1)
{
System.err.println("Nepodařilo se zavést most JDBC/ODBC."+v1.getMessage());
System.exit(1);
} catch (SQLException v2)
{
System.err.println("Nepodařilo se připojit k databázi. "+v2.getMessage());
System.exit(2);
}
try
{
dotaz = "SELECT * FROM Studenti WHERE Jméno = 'Ferda' and ID=2";
pozadavek = dB.createStatement();
vysledky = pozadavek.executeQuery(dotaz);
} catch (SQLException v3)
{
System.err.println("Chyba SQL. "+v3.getMessage());
System.exit(3);
}
try
{
boolean zaznamy = vysledky.next();
if (!zaznamy)
{
System.out.println("Nebyla vracena žádná data");
System.exit(3);
}
do
{
jmeno=vysledky.getString(2);
prijmeni=vysledky.getString(3);
System.out.println("ID je "+vysledky.getString(1)+" a jméno: "+jmeno+" "+prijmeni+". Adresa: ");
}
while (vysledky.next());
pozadavek.close();
} catch (SQLException v4)
{
System.err.println("Chyba při zobrazení dat. "+v4.getMessage());
System.exit(4);
}
finally
{
try
{
vysledky.close();
dB.close();
} catch (Exception v5)
{
System.err.println("Chyba při ukončení spojení. "+v5.getMessage());
System.exit(5);
}
}
}
public static void main(String[] args)
{
db01 a01 = new db01();
a01.connect();
}
}
a výsledek:
ID je 2 a jméno: Ferda Srab. Adresa:
Chyba při ukončení spojení. ResultSet is closed
Kdo by věděl o nějaký radě, budu rád a moc to ocením.
tak jsem to nějak upravil
kód:
package DB;
import java.sql.*;
public class db01
{
String url="jdbc:odbc:DB02";
String jmeno;
String prijmeni;
Connection dB;
Statement pozadavek;
String dotaz;
ResultSet vysledky;
public db01() {
connect();
}
public void connect() {
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
dB = DriverManager.getConnection(url);
dotaz = "SELECT * FROM Studenti WHERE ID = '2'";
pozadavek = dB.createStatement();
vysledky = pozadavek.executeQuery(dotaz);
boolean zaznamy = vysledky.next();
if (!zaznamy)
{
System.out.println("Nebyla vracena žádná data");
System.exit(1);
}
} catch (ClassNotFoundException v1)
{
System.err.println("Nepodařilo se zavést most JDBC/ODBC."+v1.getMessage());
System.exit(1);
} catch (SQLException v2)
{
System.err.println("Nepodařilo se připojit k databázi. "+v2.getMessage());
System.exit(2);
}
try
{
do
{
jmeno=vysledky.getString(1);
prijmeni=vysledky.getString(2);
System.out.println(jmeno+" "+prijmeni);
}
while (vysledky.next());
pozadavek.close();
vysledky.close();
dB.close();
} catch (SQLException v3)
{
System.err.println("Chyba při zobrazení dat. "+v3.getMessage());
System.exit(3);
}
}
public static void main(String[] args) {
db01 a01 = new db01();
a01.connect();
}}
a CHYBA:
Nepodařilo se připojit k databázi. [Microsoft][Ovladač ODBC pro Microsoft Access] Nesoulad datových typů ve výrazu.
java.sql.SQLException: [Microsoft][Ovladač ODBC pro Microsoft Access] Nelze nalézt soubor (neznámý).
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at DB.database.main(database.java:14)
package databaz;
import java.sql.*;
import javax.sql.*;
public class db01 {
String url="jdbc:odbc:Studenti";
String IDuzivatele="admin";
String heslo = "test";
String jmeno;
String prijmeni;
Statement pozadavek;
ResultSet vysledky;
Connection dB;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
dB = DriverManager.getConnection(url,IDuzivatele,heslo);
} catch (ClassNotFoundException v1) {
System.err.println("Nepodařilo se zavést most JDBC/ODBC."+v1.getMessage());
System.exit(1);
} catch (SQLException v2) {
System.err.println("Nepodařilo se připojit k databázi. "+v2.getMessage());
System.exit(2);
} try {
String dotaz = "SELECT * FROM Studenti WHERE IDStudenta = '1234'";
pozadavek = dB.createStatement();
vysledky = pozadavek.executeQuery(dotaz);
} catch (SQLException v3) {
System.err.println("Chyba SQL. "+v3.getMessage());
System.exit(3);
}
boolean zaznamy=vysledky.next();
if (!zaznamy) {
System.out.println("Nebyla vracena žádná data");
System.exit(4);
} try {
do {
jmeno=vysledky.getString(1);
prijmeni=vysledky.getString(2);
System.out.println(jmeno+" "+prijmeni);
} while (vysledky.next());
pozadavek.close();
} catch (SQLException v4) {
System.err.println("Chyba při zobrazení dat. "v4.getMessage());
System.exit(5);
} finally {
vysledky.close();
dB.close();
}
}
Databáze i tabulka se jmenuje Studenti.
Dobrý den,
chtěl bych se zeptat, jestli by byl někdo ochotný a napsal hlavičku k připojení programu na databázi. Nejlépe MS Access, dělal jsem to podle knížky Java bez předchozích znalostí a nepodařilo se mi. Pořád to píše jako něco, že soubor nebyl nalezen.
Radek