Мостовое соединение JDBC-ODBC - PullRequest
       0

Мостовое соединение JDBC-ODBC

0 голосов
/ 24 декабря 2011

Я изучаю базы данных, используя Java, и вот простой код для этого:

import java.awt.BorderLayout;

import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;


public class ClassGUIApplication extends JFrame{

private JPanel centerPnl = new JPanel();
private JPanel northPnl = new JPanel();
private JLabel idLbl = new JLabel("Id:");
private JLabel nameLbl = new JLabel("Name:");
private JLabel surnameLbl = new JLabel("Surname:");
private JLabel gradeLbl = new JLabel("Grade:");
private JTextField idTxt = new JTextField(30);
private JTextField nameTxt = new JTextField(30);
private JTextField surnameTxt = new JTextField(30);
private JTextField gradeTxt = new JTextField(30);
private JButton insertBtn = new JButton("INSERT");
private JTable table;
private StudentDBManager mng = new StudentDBManager();
private ClassTableModel model;
public ClassGUIApplication() {
    setTitle("Class Grade Report");
    setLayout(new GridLayout(2,1));
    centerPnl.setLayout(new GridBagLayout());
    GridBagConstraints gc = new GridBagConstraints();
    gc.gridx = 0;
    gc.gridy = 0;
    centerPnl.add(idLbl, gc);
    gc.gridx = 1;
    gc.gridy = 0;
    centerPnl.add(idTxt, gc);
    gc.gridx = 0;
    gc.gridy = 1;
    centerPnl.add(nameLbl, gc);
    gc.gridx = 1;
    gc.gridy = 1;
    centerPnl.add(nameTxt, gc);
    gc.gridx = 0;
    gc.gridy = 2;
    centerPnl.add(surnameLbl, gc);
    gc.gridx = 1;
    gc.gridy = 2;
    centerPnl.add(surnameTxt, gc);
    gc.gridx = 0;
    gc.gridy = 3;
    centerPnl.add(gradeLbl, gc);
    gc.gridx = 1;
    gc.gridy = 3;
    centerPnl.add(gradeTxt, gc);
    gc.gridx = 2;
    gc.gridy = 4;
    centerPnl.add(insertBtn, gc);
    insertBtn.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            int id = Integer.parseInt(idTxt.getText());
            String name = nameTxt.getText();
            String surname = surnameTxt.getText();
            double grade = Double.parseDouble(gradeTxt.getText());
            Student student = new Student(id,name,surname,grade);
            mng.addStudent(student);
            List<Student> classList = mng.getStudents();
            model = new ClassTableModel(classList);
            table.setModel(model);

        }
    });

    northPnl.setLayout(new GridLayout());
    List<Student> classList = mng.getStudents();
    model = new ClassTableModel(classList);
    table = new JTable(model);
    northPnl.add(new JScrollPane(table));

    add(centerPnl);
    add(northPnl);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setPreferredSize(new Dimension(500,500));
    setVisible(true);
    pack();
}

public static void main(String[] args) {
    ClassGUIApplication app = new ClassGUIApplication();
}


}


public static void main(String[] args) {
    ClassGUIApplication app = new ClassGUIApplication();
}


}

Eclipse выдает eror так:

java.sql.SQLException: [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application
    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 StudentDBManager.openConnection(StudentDBManager.java:21)
    at StudentDBManager.(StudentDBManager.java:15)
    at ClassGUIApplication.(ClassGUIApplication.java:36)
    at ClassGUIApplication.main(ClassGUIApplication.java:102)

1 Ответ

3 голосов
/ 24 декабря 2011

Ваша операционная система или JVM 32-битная или 64-битная?

Я не верю, что 64-битная JVM имеет класс драйвера моста ODBC.И 64-битная операционная система предложит вам прочитать это:

http://social.msdn.microsoft.com/Forums/en/adodotnetdataproviders/thread/1c63e3ae-e001-4066-9eac-ad9162116603

Когда я получаю сообщение об ошибке, первое, что я делаю, это вставляю его в Google.Обычно я узнаю, что я не первый, кто видит мою проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...