数据库配置和连接问题
问题一:
JDBC-ODBC桥连接添加SQl server数据源的时候:
名称:StudyTest
描述:
服务器:localhost
Sql server应该如何验证登陆ID的真伪(这个选项卡的选项我选的是默认 下一步的时候出错)
错误:
连接失败:
SQLstate:'01000'
SQLserver错误:14
[Microsoft][ODBC SQLserver Driver][DBNETLIB]ConnectionOpen Invalid Instance()
连接失败:
SQLstate:'08001'
SQLserver错误:14
[Microsoft][ODBC SQLserver Driver][DBNETLIB]无效的连接
这是什么错误啊?我装的是Sql server2005 都配置好了。
问题二:
由于桥连接不行,我就采用纯Java驱动方式,但是同样的代码在Eclipse中代码没有提示错误,但是包左边视图文件上却有个错误的红叉,奇怪的是代码没有提示任何错误。
然后我又把代码在MyEclipse中测试,没有任何错误。运行也正常。这是为什么啊?
[code=Java][/code][code=Java][/code]
import java.sql.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.util.*;
class JTable1 extends JFrame
{
JPanel cp = new JPanel();
JTable jtable1;
JScrollPane jscrp1 = new JScrollPane();
public JTable1()
{
cp = (JPanel)this.getContentPane();
this.setTitle("student result");
this.setSize(500, 200);
cp.setLayout(new FlowLayout());
Connection con;
Statement sql;
ResultSet rs;
DefaultTableModel dtm;
//DefaultTableModel是 TableModel 的一个实现,它使用一个 Vector 来存储单元格的值对象,该 Vector 由多个 Vector 组成。
Vector <Vector> content=new Vector <Vector>();
Vector <String> title=new Vector <String>();
try { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); } //建立桥接器
catch (
java.lang.ClassNotFoundException e)
{ e.printStackTrace();}
try
{
con= DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;" +
" DatabaseName=StudyTest","sa","sa");//连接
sql=con.createStatement();
sql.execute("use StudyTest");
rs=sql.executeQuery("SELECT * FROM studentInfo");
ResultSetMetaData rsmd=rs.getMetaData();
//ResultSetMetaData可用于获取关于 ResultSet 对象中列的类型和属性信息的对象
for(int i = 1; i <= rsmd.getColumnCount(); i++)//getColumnCount()记录条数
{
title.add(rsmd.getColumnName(i));//获取列名(对象String)
}
while(rs.next())
{
Vector <String> tmp=new Vector<String>();//一个Vector content包含多个Vector
for(int i = 1; i <= rsmd.getColumnCount(); i++)
tmp.add(rs.getString(i));//获取记录
content.add(tmp);
}
dtm=new DefaultTableModel(content,title);
jtable1 = new JTable(dtm);
jtable1.setRowHeight(20);
jscrp1.getViewport().add(jtable1);//getViewport()滚动窗格的视口子级
cp.add(jscrp1);
con.close();
}
catch (
SQLException el)
{ el.printStackTrace();}
}
}
public class SQLTest
{
public static void main(String args[])
{
JTable1 JTable1 = new JTable1();
JTable1.setVisible(true);
}
}
在Eclipse和MyEclipse我都导入了驱动包:msbase.jar mssqlserver.jar msutil.jar
另外再问一下 为什么 只导入一个 mssqlserver.jar就不行呢?
麻烦大家帮下忙,还是新手。
------解决方案--------------------
con= DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;" +
" DatabaseName=StudyTest","sa","sa");//连接
你这句能通过么?
试试这个
conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databaseName=StudyTest","sa","sa");
------解决方案--------------------