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