java连接sqlserver
你这个程序不是从数据库查询,是通过读取gong1.txt文件判断查询的啊
如果你要改成从数据库里查询要把以下代码替换掉:
FileInputStream come_in42=new FileInputStream("gong1.txt");
ObjectInputStream in42 =new ObjectInputStream(come_in42);
list=(LinkedList)in42.readObject();
in42.close();
替换为:
Connection databaseConnect = null; // 数据库连接
Statement sqlServerStmt = null;
ResultSet sqlServerRset = null;
Statement ps = null;
String localDatabaseDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String localDatabaseUrl =
"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=qs080521";//注:这里要写你要连接的数据库,把(qs080521)替换掉
try {
Class.forName(localDatabaseDriver);
databaseConnect = DriverManager.getConnection(localDatabaseUrl, "sa", "");
String DanJuHao = "";
sqlServerStmt = databaseConnect.createStatement();
String sqlStr = "";//写SQL查询语句
System.out.println(sqlStr);
sqlServerRset = ps.executeQuery(sqlStr);
while(sqlServerRset.next()){
Wage w = new Wage();
//用sqlServerRset.get...() 方法取出对应的数值
//w.set...();将上面语句放到括号内,存储到相应字段
list.add(w);
}
sqlServerRset.close();
databaseConnect.close();
下面就什么也不用改了
Ⅱ java连接sqlserver 需要用的jar有哪些
Java连接sqlserver需要一下jar包:
1.msbase.jar //底层连接类
2.mssqlserver.jar //驱动类
3.msutil.jar //工具类
Ⅲ java连接SqlServer2008的数据库连接池怎么使用
java连接SqlServer2008的数据库连接池使用:
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Vector;
/**数据库连接池的公共类 **/
public class ConnectionPool {
private Vector<Connection> pool;//声明集合,里面只能是放Connection
/**
* 声明要的东西
*/
private String url = "jdbc:sqlserver://localhost:1433; database=ajax";
private String username = "sa";
private String password = "sa123";
private String driverClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
/**
* 连接池的大小,也就是连接池中有多少个数据库连接
*/
private int poolSize = 5;
private static ConnectionPool instance = null;
/**
* 私有的构造方法,禁止外部创建本类的对象,要想获得本类的对象,通过<code>getIstance</code>方法
* 使用了设计模式中的单子模式
*/
private ConnectionPool() {
init();
}
/**
* 连接池初始化方法,读取属性文件的内容 建立连接池中的初始连
*/
private void init() {
pool = new Vector<Connection>(poolSize);
//readConfig();
addConnection();
}
/**
* 返回连接到连接池
*/
public synchronized void release(Connection conn) {
pool.add(conn);
}
/**
* 关闭连接池中的所有数据库连接
*/
public synchronized void closePool() {
for (int i = 0; i < pool.size(); i++) {
try {
((Connection) pool.get(i)).close();
} catch (SQLException e) {
e.printStackTrace();
}
pool.remove(i);
}
}
/**
* 返回当前连接池的对象
*/
public static ConnectionPool getInstance() {
if (instance == null) {
instance = new ConnectionPool();
}
return instance;
}
/**
* 返回连接池中的一个数据库连接
*/
public synchronized Connection getConnection() {
if (pool.size() > 0) {
Connection conn = pool.get(0);
pool.remove(conn);
return conn;
} else {
return null;
}
}
/**
* 在连接池中创建初始设置的的数据库连接
*/
private void addConnection() {
Connection conn = null;
for (int i = 0; i < poolSize; i++) {
try {
Class.forName(driverClassName);
conn = java.sql.DriverManager.getConnection(url, username,
password);
pool.add(conn);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
Ⅳ java怎样连接到SQL server 2008
有两种方式,主要看你比较喜欢用哪种:
首先下载JDBC:下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=21599
下载 完成后,是个exe文件,点击运行,会提示你选择解压目录.
解压完成后,进入 <你解压到得目录>sqljdbc_3.0chs,里边有两个我们需要的东东
一个是:sqljdbc.jar,另外一个是sqljdbc4.jar
这里使用sqljdbc4.jar
首先配置sa身份验证:
由于安装sqlServer2008时是以windows身份验证安装的,并没有为sqlServer2008添加sqlServer身份用户,因此首先添加用户:
打开Microsoft SQL Server Managerment Studio并以windows验证方式登录,左侧的对象资源管理器->安全性->登录名,右击sa->属性,为sa用户添加密码,选择sqlServer身份验证,在"状态"选项中授予连接到数据库和登录启用.右击对象资源管理器的根节点,选择属性->安全性->sqlServer和windows身份验证模式,这样就为sql server 2008创建了以sql server身份验证的用户sa.
在java代码中用两种方式连接sqlserver2008数据库,一种是sa身份验证模式,另外一种是混合身份验证模式:
第一种:sa身份验证模式,用下边java代码的url
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.Statement;
publicclassTest{
publicstaticvoidmain(Stringargs[]){
//.
Stringurl="jdbc:sqlserver://127.0.0.1:1368;databaseName=mydb;user=sa;password=qiaoning";//sa身份连接
Stringurl2="jdbc:sqlserver://127.0.0.1:1368;databaseName=mydb;integratedSecurity=true;";//windows集成模式连接
//DeclaretheJDBCobjects.
Connectioncon=null;
Statementstmt=null;
ResultSetrs=null;
try{
//Establishtheconnection.
System.out.println("begin.");
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con=DriverManager.getConnection(url);
System.out.println("end.");
//.
StringSQL="SELECTTOP10*FROMaud_t_basis";
stmt=con.createStatement();
rs=stmt.executeQuery(SQL);
//.
while(rs.next()){
System.out.println(rs.getString(4)+""+rs.getString(6));
}
}
//.
catch(Exceptione){
e.printStackTrace();
}
finally{
if(rs!=null)
try{
rs.close();
}catch(Exceptione){
}
if(stmt!=null)
try{
stmt.close();
}catch(Exceptione){
}
if(con!=null)
try{
con.close();
}catch(Exceptione){
}
}
}
}
第二种:混合身份验证模式,用上边java代码的url2.
在集成模式下需要如下操作:
找到你刚才的解压目录:进入sqljdbc_3.0chsauthx64,我的是64位系统,如果是32位就x86,将一个名为sqljdbc_auth.dll的文件拷贝到:C:WindowsSystem32下,就好了
最后就是sqlserver2008用的是动态端口,需要你配置一下:
打开配置工具->SQLServer配置管理器->SQLServer网络配置->MSSQLSERVER的协议->TCP/IP启用,把TCP动态端口中的0都删掉,留空;然后把列表拉到最下边(IPALL),配置一个固定端口,以后你连接数据库就用这个端口就可以了:如下图
这里我用的是1368,数据库重启后,就可以用上面的程序连接了.
Ⅳ java如何直连sqlserver
导入sqljdbc.jar包,连接代码如下:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;databaseName=数据库名称;","用户名","密码");
Ⅵ java连接SQL数据库
import java.sql.ResultSet; //都是导入一些下面需要用到的类
String ConnStr="jdbc:microsoft:sqlserver://WINJUE:1433;DatabaseName=library";//jdbc连接数据库url
public sqlServer() {
try {
Class.forName(DBDriver).newInstance(); //加载SQLServer驱动程序,DBDriver是你上面的代码;
conn=DriverManager.getConnection(ConnStr,"sa","sa"); //和数据库建立连接,ConnStr里面的://WINJUE:1433;DatabaseName=library 分别是主机地址:端口号;你自己建的数据库(database)
}
catch(SQLException e) { //捕获SQL异常
System.out.println(e.getMessage()); //要是出现异常,捕获到后,这句代码会把异常的信息(出错的原因之类的)打印出来。
}
catch(Exception e) { //捕获异常,这个是总的,所以不能和上面的顺序颠倒,先小到大,我连ORACLE和MYSQL,这个我通常不要,只须捕获SQL异常就OL
System.out.println(e.getMessage());
}
}
public Connection getConn(){ //获取连接方法
return conn;
}
public void insert(String sql) {//增删改
try {
Statement stm=conn.createStatement(); 调用conn下的方法,创建Statement对象
stm.executeUpdate(sql);//调用Statement下的方法执行SQL语句
System.out.println("操作成功");
}
catch(Exception e){
System.out.println(e.getMessage()); //如上
}
}
public ResultSet query(String sql){ //查询
try{
Statement stm=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stm.executeQuery(sql); //如上
}
catch(Exception e){
System.out.println(e.getMessage());
}
return rs;
}
public static void main(String args[]){
sqlServer conn=new sqlServer(); //创建sqlServer,就是你上面的类,以便调用里面的方法
ResultSet rs=conn.query("select * from Orders"); //调用query方法,执行SQL语句后,把结果保存到结果集里
//conn.insert("delete from BookInfo where BookName =" +"\'悟空传\'");
//conn.insert("insert into BookInfo (BookID,BookName,Author,KeyWord) values (14445678,'悟空传','今何在','孙悟空')");
try{
while(rs.next()){ //循环,判断结果集里的记录,一条条往下走,是否还有下一条记录,若是返回真,继续走
System.out.print(rs.getString("OrderID"));
//System.out.print(rs.getString("U_age"));
}
rs.close() ; //关闭结果集
}
catch (Exception e){
System.out.println(e.getMessage());
}
}
}
注:
TYPE_FORWARD_ONLY:缺省类型。只允许向前访问一次,并且不会受到其他用户对该数据库所作更改的影响。
TYPE_SCROLL_INSENSITIVE:允许在列表中向前或向后移动,甚至能进行特定定位,例如移至列表中的第四个记录或从当前位置向后移动两个记录。不会受到其他用户对该数据库所作更改的影响。
TYPE_SCROLL_SENSITIVE:象 TYPE_SCROLL_INSENSITIVE 相同,允许在记录中定位。这种类型受到其他用户所作更改的影响。如果用户在执行完查询之后删除一个记录,那个记录将从 ResultSet 中消失。类似的,对数据值的更改也将反映在 ResultSet 中。
Ⅶ java怎么连接sql server2008数据库
1、下载Microsoft JDBC Driver 4.0 for SQL Server
在这里下载:http://www.microsoft.com/zh-cn/download/details.aspx?id=11774
4.0版本支持的SQL Server有:
Microsoft®SQL Server® 2012
Microsoft®SQL Server® 2008 R2
Microsoft®SQL Server® 2008
Microsoft®SQL Server® 2005
Microsoft®SQL Azure
下载sqljdbc_4.0.2206.100_chs.tar.gz(2.2M),解压文件,得到sqljdbc.jar和sqljdbc4.jar。如果你使用的是jre1.7版本,则忽略sqljdbc.jar(因为它用不了,而且如果和sqljdbc4.jar一起用会出错),只留下sqljdbc4.jar。
以下设置均针对jre1.7版本(1.7以下应该也适用):
在D盘新建一个文件夹,命名为sqljdbc4,将sqljdbc4.jar复制一个进去。
2、右击我的电脑→属性→高级系统设置(高级)→环境变量,在系统变量中双击CLASSPATH变量(或选中CLASSPATH后→编辑),在最后面追加“;D:sqljdbc4 sqljdbc4.jar”(注意最前面有个;)若不存在CLASSPATH,就新建CLASSPATH变量,并且将其值设为“D:sqljdbc4 sqljdbc4.jar”。
3、连续点击确定以退出环境变量配置。
4、接下来的工作非常重要(因为没做我纠结了几天没成功)!!
有几个地方需要注意:
(1)我们需要将sqljdbc4.jar类库文件拷贝到D:Program FilesJavajdk1.7.0jrelibext目录下。(看你安装在哪个盘,如果是C盘,则最前面的D改为C,下同)
(2)我们需要将sqljdbc4.jar类库文件拷贝到D:Program FilesJavajre7libext目录下
最好是,只要是jre文件夹,都复制一个sqljdbc4.jar到jre7libext里去!!
(3)如果是使用Tomcat做服务器(我使用的是Tomcat7),那么我们需要将sqljdbc4.jar类库文件拷贝到C:apache-tomcat-7.0.11lib目录下。
(4)如果是使用Tomcat做服务器,那么我们需要将sqljdbc4.jar类库文件拷贝到D:apache-tomcat-7.0.11webappsgaofeiWEB-INFlib目录下(gaofei目录是我的应用,这个路径相信你会看明白)
注意,只有sqljdbc4.jar!!如果把sqljdbc.jar和sqljdbc4.jar都拷在一起的话,这样就算你全都做对了,也会持续出现有“此驱动程序不支持JRE1.7,请使用支持JDBC4.0的sqljdbc4.jar的类库”的问题。因为jdk默认地选择了sqljdbc.jar(前面我已经提到,只留下sqljdbc4.jar)。
三、使用Eclipse测试连接SQL Server 2012数据库:
1、打开SQL Server 2012,在其中新建数据库Test,然后退出SQL Server 2012。
2、运行Eclipse,新建一个JavaProject名为Test。
3、右单击src,依次选择Build Path→Configure Build Path,在打开的窗口的右边选择Libraries标签,然后单击Add External JARs,找到sqljdbc4.jar文件并打开,然后单击OK完成构建路径的配置。
4、在Test中新建包pkg,在pkg中新建一个类Main,在其中输入代码如下:
packagepkg;
importjava.sql.*;
publicclassMain{
publicstaticvoidmain(String[]args)
{
StringdriverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
StringdbURL="jdbc:sqlserver://localhost:1433;DatabaseName=你的数据库名";
StringuserName="填写你的用户名,我的是sa";
StringuserPwd="填写你的密码";
try
{
Class.forName(driverName);
ConnectiondbConn=DriverManager.getConnection(dbURL,userName,userPwd);
System.out.println("连接数据库成功");
}
catch(Exceptione)
{
e.printStackTrace();
System.out.print("连接失败");
}
}
}
温馨提示:如果要对数据库中的某个表进行操作,需要像这样子做:String sql = "SELECT*FROM [数据库名].[dbo].[表名] where xxx ";例如String sql = "SELECT*FROM [metro].[dbo].[4] wherexxx"。注意,中括号是必要的,不能去掉。
5、点击右键,选择run as——>Java Application,控制台出现【连接数据库成功】则连接成功!
Ⅷ Java连接MySQL简单还是SQLserver简单
1、 安装时区别:
与mysql相比,Sqlserver安装后,的配置TCP/IP协议,Sql Server 身份注册登录 ,都比较麻烦。
2、配置连接时区别:
mysql
使用的驱动:com.mysql.jdbc.Driver
依赖包:mysql 可以直接通过pom.xml下载
sqlserver驱动:com.microsoft.sqlserver.jdbc.SQLServerDriver
依赖包:sqljdbc4 需要从本地置入
Ⅸ java如何连接SQLserver数据库
从M$网站下载最新JDBC驱动或都使用maven:
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>9.4.1.jre11</version>
</dependency>
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
public class SQLDatabaseConnection {
// Connect to your database.
// Replace server name, username, and password with your credentials
public static void main(String[] args) {
String connectionUrl =
"jdbc:sqlserver://yourserver.database.windows.net:1433;"
+ "database=AdventureWorks;"
+ "user=yourusername@yourserver;"
+ "password=yourpassword;"
+ "encrypt=true;"
+ "trustServerCertificate=false;"
+ "loginTimeout=30;";
String insertSql = "INSERT INTO SalesLT.Proct (Name, ProctNumber, Color, StandardCost, ListPrice, SellStartDate) VALUES "
+ "('NewBike', 'BikeNew', 'Blue', 50, 120, '2016-01-01');";
ResultSet resultSet = null;
try (Connection connection = DriverManager.getConnection(connectionUrl);
PreparedStatement prepsInsertProct = connection.prepareStatement(insertSql, Statement.RETURN_GENERATED_KEYS);) {
prepsInsertProct.execute();
// Retrieve the generated key from the insert.
resultSet = prepsInsertProct.getGeneratedKeys();
// Print the ID of the inserted row.
while (resultSet.next()) {
System.out.println("Generated: " + resultSet.getString(1));
}
}
// Handle any errors that may have occurred.
catch (Exception e) {
e.printStackTrace();
}
}
}
Ⅹ java如何连接sql数据库
是classpath的设置问题了。 首先解决这个问题如果说到时候提示没有找到数据库驱动,则在用命令运行此程序的时候需要在classpath 中加入连接sqlserver的jar 包,可以在环境变量中设置也可以在java命令后面加 例如: java -classpath .;xxxx.jar ConnectionDemo