⑴ java如何直連sqlserver
導入sqljdbc.jar包,連接代碼如下:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;databaseName=資料庫名稱;","用戶名","密碼");
⑵ Java與數據SqlServer2008怎麼連接
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
//mydb為資料庫
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
⑶ 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連接sqlserver 需要用的jar有哪些
Java連接sqlserver需要一下jar包:
1.msbase.jar //底層連接類
2.mssqlserver.jar //驅動類
3.msutil.jar //工具類
⑸ 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連接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連接sqlserver資料庫
導入SqlServer JDBC的驅動,
SQLServer的JDBC URL=
jdbc:sqlserver://172.30.202.21:1433;DatabaseName=AirAutoMonitor
3. 獲得連接的代碼
(Stringurl,Stringusername,Stringpassword)
{
Connectionconn=null;
StringdriverName="";
Propertiesprops=newProperties();
props.put("user",username);
props.put("password",password);
if(url!=null||!"".equals(url)){
if(url.indexOf("oracle")>-1){
databaseType="oracle";
props.put("remarksReporting","true");
driverName="oracle.jdbc.driver.OracleDriver";
}
if(url.indexOf("sqlserver")>-1){
databaseType="sqlserver";
driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
}
if(url.indexOf("mysql")>-1){
databaseType="mysql";
driverName="com.mysql.jdbc.Driver";
}
}
try{
Class.forName(driverName);
conn=DriverManager.getConnection(url,props);
}catch(ClassNotFoundExceptione){
(e);
}catch(SQLExceptione){
(e);
}
returnconn;
}
上面的代碼是獲得Oracle, MySQL, SqlServer的資料庫連接的通用方法。
⑻ java如何連接SQLserver資料庫
注意:在使用這個類的時候,先將對應資料庫的驅動包(JAR包),復制進項目的WebRoot文件夾下的WEB-INF文件夾下的lib文件夾下,切記必須要對應的JAR包,否則無法使用資料庫的
import java.sql.*;
public class BaseDAO {
private static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";//注意:此驅動是SQL2005及以上版本的導入驅動包連接字元串
private static final String CONNECTION = "jdbc:sqlserver://localhost:1433;databaseName=Employee"; //資料庫連接字元串,databaseName就是你要連接的資料庫名,
private static final String NAME = "sa"; //資料庫用戶名
private static final String PWD = "sa"; //資料庫密碼
public static Connection GetConnection() {
Connection con = null;
try {
Class.forName(DRIVER);
con = DriverManager.getConnection(CONNECTION, NAME, PWD);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return con;
}
public static void close(ResultSet rs, PreparedStatement ps, Connection con) {
try {
if (null != rs) {
rs.close();
}
if (null != ps) {
ps.close();
}
if (null != con) {
con.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
⑼ java連接sqlserver,提示語法錯誤
SQL Server端運行的語句是如下吧:
select * from (select src.*, row_number() over (order by src.id asc) rownum from (select id, parentid, name, enable from configcity where 1 = 1 ) src) row_ where row_.rownum < 15
這個語句是沒錯的。
你的調試下程序,看傳遞到後台語句是不是對的。
where row_.rownum < 15,這個是有個參數傳遞的,傳遞的結果可能不對。
具體要看你程序怎麼寫。
一般是where子句根據條件判斷生成後,再與主SQL語句合並。這個過程中,有邏輯漏洞的話,where子句會生是一個「 where 」 之類
這樣程序運行的SQL,實際上就會是如下:
select * from (select src.*, row_number() over (order by src.id asc) rownum from (select id, parentid, name, enable from configcity where 1 = 1 ) src) row_ where
這樣就會出錯。
這個問題,估計不是SQL語句的錯,是程序生成SQL或傳遞SQL時的錯。不要查語句問題了,查程序的SQL語句生成或傳遞的部分吧。
你還是把程序最後生成的SQL,輸出後檢查下吧。形如? Parameters: [15]之類的,最後生成的SQL絕不會有這些的。