powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / NetBeans+Java+MSSQL
12 сообщений из 12, страница 1 из 1
NetBeans+Java+MSSQL
    #38323143
doctor2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
--------------------------------------------------------------------------------

Прошу помощи. Не могу подцепить базу
Код: 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.
package jdbcselgui;

import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.table.*;
import javax.swing.event.*;
import javax.sql.*;
import com.microsoft.sqlserver.jdbc.SQLServerDriver;
/**
*
* @author доктор
*/
public class JdbcSelGui extends JFrame {

Connection con;
JTextField addr = new JTextField("jdbc:sqlserver://localhost:1433:SDO");
JTextField name = new JTextField("sdoadmin");
JPasswordField pass = new JPasswordField("sdoadmin");
JTextField tf = new JTextField("SELECT name, address FROM students");
JLabel sf = new JLabel("Строка состояния");
JButton b = new JButton("Выполнить");
JTable table;
DBTableModel model;

public JdbcSelGui() {
super("Выборка");
Container c = getContentPane();
JPanel p1 = new JPanel(false);
p1.setLayout(new BoxLayout(p1, BoxLayout.Y_AXIS));
c.add(p1, BorderLayout.NORTH);
JPanel p3 = new JPanel(false);
p3.setLayout(new GridLayout(5, 1));
p1.add(p3);

p3.add(new JLabel("Адрес", JLabel.CENTER));
p3.add(addr);
p3.add(new JLabel("Имя", JLabel.CENTER));
p3.add(name);
p3.add(new JLabel("Пароль", JLabel.CENTER));
p3.add(pass);
p3.add(new JLabel("Запрос", JLabel.CENTER));
p3.add(tf);
p3.add(new JPanel());

JPanel p4 = new JPanel(false);
p4.setLayout(new GridLayout(1, 1));
p1.add(p4);


String[] defCols = {"Имя", "Адрес"};
Object[] defData = {"", ""};

model = new DBTableModel(defCols, defData, 0);
table = new JTable(model);

table.setRowHeight(20);
table.setToolTipText("Содержимое выборки");

sf.setToolTipText("Строка состояния");
sf.setBackground(Color.lightGray);
sf.setPreferredSize(new Dimension(300, 29));

tf.setToolTipText("Введите сюда запрос");
tf.setPreferredSize(new Dimension(100, 29));

b.setText("Выполнить");
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
connect(addr.getText(), name.getText(), pass.getPassword());
selectRecords(tf.getText());
}
});
JScrollPane sp = new JScrollPane(table);
JPanel p = new JPanel();
p.add(b);
p4.add(p);

c.add(sp);
c.add(sf, BorderLayout.SOUTH);
setSize(600, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}

public void connect(String addr, String name, char[] pass) {
try {
sf.setText("Идет соединение...");
DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver());

String s = new String(pass);
con = DriverManager.getConnection(addr, name, s);
con.setAutoCommit(false);
sf.setText(("Успешное соединение"));
} catch (Exception e) {
sf.setText("Ошибка соединения...");
}
}

public void selectRecords(String query) {
try {
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(query);
model.clearTable();
model.insertFromDB(rs);

rs.close();
st.close();
} catch (SQLException e) {
sf.setText("Ошибка выборки..." + e);
}
}

public static void main(String[] args) {
JdbcSelGui jdbcSelGui = new JdbcSelGui();

}
}


После нажатия на кнопку "Выполнить" выдает Exception
Код: plaintext
авторException in thread "AWT-EventQueue-0" java.lang.NullPointerException
at jdbcselgui.JdbcSelGui.selectRecords(JdbcSelGui.java:106)
at jdbcselgui.JdbcSelGui$1.actionPerformed(JdbcSelGui.java:73)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButto n.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractB utton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultBu ttonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel .java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Bas icButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:332 1)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container. java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.j ava:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java: 4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:723)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:682)
at java.awt.EventQueue$3.run(EventQueue.java:680)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Pro tectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Pro tectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:696)
at java.awt.EventQueue$4.run(EventQueue.java:694)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Pro tectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:693)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDis patchThread.java:244)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispat chThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDis patchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread. java:147)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread. java:139)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:97 )
...
Рейтинг: 0 / 0
NetBeans+Java+MSSQL
    #38323256
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 07.07.2013 12:29, doctor2008 wrote:

> Прошу помощи. Не могу подцепить базу

Из-за этого и NullPointerException, что соединение ты не установил. В методе connect() при неудачном соединении ты
прячешь причину неудачи, лишь выводя sf.setText("Ошибка соединения..."); и не прерываешь выполнение. В результате
получаешь NullPointerException потому что соединения нет, con == null. Как выглядит ошибка соединения?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
NetBeans+Java+MSSQL
    #38323574
doctor2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Denis Popov, большое спасибо за отзывчивость.
Собственно все что выдает IDE я отобразил. Если Вас не затруднит, помогите решить проблему. Заранее благодарен.
...
Рейтинг: 0 / 0
NetBeans+Java+MSSQL
    #38323621
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 08.07.2013 07:45, doctor2008 wrote:

> Собственно все что выдает IDE я отобразил. Если Вас не затруднит, помогите решить проблему. Заранее благодарен.

Измени код в методе connect() чтобы увидеть ошибку соединения, или посмотри дебагером.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
NetBeans+Java+MSSQL
    #38323626
doctor2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Denis Popov, почему не поддерживается. У меня 2008.

com.microsoft.sqlserver.jdbc.SQLServerException: The server version is not supported. The target server must be SQL Server 2000 or later.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
at com.microsoft.sqlserver.jdbc.DBComms.Prelogin(Unknown Source)
at com.microsoft.sqlserver.jdbc.DBComms.<init>(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:579)
at java.sql.DriverManager.getConnection(DriverManager.java:221)
at jdbcselgui.JdbcSelGui.connect(JdbcSelGui.java:94)
at jdbcselgui.JdbcSelGui$1.actionPerformed(JdbcSelGui.java:72)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:723)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:682)
at java.awt.EventQueue$3.run(EventQueue.java:680)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:696)
at java.awt.EventQueue$4.run(EventQueue.java:694)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:693)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at jdbcselgui.JdbcSelGui.selectRecords(JdbcSelGui.java:105)
at jdbcselgui.JdbcSelGui$1.actionPerformed(JdbcSelGui.java:73)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:723)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:682)
at java.awt.EventQueue$3.run(EventQueue.java:680)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:696)
at java.awt.EventQueue$4.run(EventQueue.java:694)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:693)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
...
Рейтинг: 0 / 0
NetBeans+Java+MSSQL
    #38323665
GregTk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doctor2008,

На просторах интернета по вашей ошибки пишут следующие:

авторAfter spending some time , I found that this issue will normally occur when you are using a older verison of JDBC driver to connect to sql server 2008. So make sure you are using sql server 2008 JDBC driver and you do not have sqlserver 2005 JDBC drivers in the classpath or in server/default/lib folder.

When you download the SQlserver 2008 JDBC driver from the Microsoft website, you will get two jar files: sqljdbc4.jar and sqljdbc.jar.
For JDK5 – use sqljdbc.jar
for JDK6 – use sqljdbc4.jar

When you JDK1.5 and trying to load sqljdbc4.jar, you might get the below exception.So use sqljdbc.jar[2008]
...
Рейтинг: 0 / 0
NetBeans+Java+MSSQL
    #38323694
doctor2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GregTk,

Засада...Пути прописаны, драйвер скачан здесь:

Скачать Драйвер Microsoft JDBC 4.0 для SQL Server с официального сайта...

Драйвер JDBC 4.0 для SQL Server доступен для бесплатной загрузки всеми пользователями SQL Server; он обеспечивает доступ к Microsoft® SQL Server® 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 и SQL Azure из любого приложения Java...

microsoft.com›ru-RU/download/details.aspx…
...
Рейтинг: 0 / 0
NetBeans+Java+MSSQL
    #38323908
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 08.07.2013 10:49, doctor2008 wrote:

> Засада...Пути прописаны, драйвер скачан здесь:

Строка коннекта правильная? Вот тут:

http://msdn.microsoft.com/en-us/library/ms378428.aspx

не сказано что после порта через двоеточие указывается база. Попробуй может:

jdbc:sqlserver://localhost:1433l;database=SDO

И проверь что используется действительно нужный драйвер.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
NetBeans+Java+MSSQL
    #38323911
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 08.07.2013 13:15, Denis Popov wrote:

> jdbc:sqlserver://localhost:1433l;database=SDO

Точнее: jdbc:sqlserver://localhost:1433l;databaseName=SDO

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
NetBeans+Java+MSSQL
    #38324062
doctor2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Denis Popov,
спасибо, всё получилось.
Возникла следующая проблема: при запросе не выводит данные из таблицы(соединение установлено)

com.microsoft.sqlserver.jdbc.SQLServerException: Индекс 0 находится вне диапазона.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.verifyValidColumnIndex(SQLServerResultSet.java:531)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getterGetColumn(SQLServerResultSet.java:2049)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getObject(SQLServerResultSet.java:2356)
at jdbcselgui.DBTableModel.insertFromDB(DBTableModel.java:85)
at jdbcselgui.JdbcSelGui.selectRecords(JdbcSelGui.java:109)
at jdbcselgui.JdbcSelGui$1.actionPerformed(JdbcSelGui.java:74)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:723)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:682)
at java.awt.EventQueue$3.run(EventQueue.java:680)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:696)
at java.awt.EventQueue$4.run(EventQueue.java:694)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:693)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
...
Рейтинг: 0 / 0
NetBeans+Java+MSSQL
    #38324066
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В JDBC всё считается от 1, а не от 0. Как выглядит insertFromDB() остаётся только догадываться.
...
Рейтинг: 0 / 0
NetBeans+Java+MSSQL
    #38324151
doctor2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz, спасибо, именно это я и упустил.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / NetBeans+Java+MSSQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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