jbuilder2006連接sqlserver2000的方法
更新時(shí)間:2008年10月07日 23:31:12 作者:
xp jbuiler2006 連接SQL SERVER2000的問題
1.其中包括下載JDBC FRO Microsft SQL_Server2000的驅(qū)動程序(在微軟官方網(wǎng)站下的,是sp3版的,這里就不寫具體地址了,網(wǎng)上挺多的,但注意版本,我下的是sp3)。下載后發(fā)現(xiàn)是EXE 文件,雙擊安裝。默認(rèn)安裝目錄:C:Program FilesMicrosoft SQL Server 2000 Driver for JDBC,其中C:Program FilesMicrosoft SQL Server 2000 Driver for JDBClib目錄下的三個擴(kuò)展名為.jar是我們要的驅(qū)動。然后配制環(huán)境變量:
在classpath這個環(huán)境變量里加入以下語句:
C:Program FilesMicrosoft SQL Server 2000 Driver for JDBClibmsbase.jar;
C:Program FilesMicrosoft SQL Server 2000 Driver for JDBClibmssqlserver.jar;
C:Program FilesMicrosoft SQL Server 2000 Driver for JDBClibmsutil.jar;
如果你的機(jī)子上正確配制了JDK的環(huán)境變量就應(yīng)該有CLASSPATH這個環(huán)境變量,若沒有就新建一個。
(http://download.microsoft.com/download/4/1/d/41d3e9c0-64d1-451e-947b-7a4cba273b2d/setup.exe)
2.檢查1433端口是否打開:NETSTAT(DOS進(jìn)入C:\WINDOWS\SYSTEM32下) NETSTAT -AN
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establis
hing socket.
出現(xiàn)上邊錯誤的主要原因是默認(rèn)的數(shù)據(jù)庫服務(wù)器端口 1433沒有打開,無法直接連接 。
這時(shí)你在命令提示行中輸入命令:netstat –an 來查看有沒有tcp:0.0.0.0:1433,如果沒有那就肯定是因?yàn)閿?shù)據(jù)庫服務(wù)器端口 1433端口沒開。這時(shí)你需要下載SQL_Serve20000的sp4補(bǔ)丁,下載安裝后會發(fā)現(xiàn),默認(rèn)C盤下SQL2KSP4中setup.dat安裝(******* 很重要******),1433端口已經(jīng)打開了,再次執(zhí)行程序,順利執(zhí)行完畢。
(http://download.microsoft.com/download/9/b/f/9bff6646-2cdb-4069-ada0-548be9cb9338/SQL2000-KB884525-SP4-x86-CHS.EXE)
3 java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]用戶 'xxx' 登錄失敗。原困是未設(shè)置SQL SERVER登錄認(rèn)證模式為混合認(rèn)證模式,因?yàn)镾QL SERVER默認(rèn)安裝后認(rèn)證模式為WINDOWS認(rèn)證模式,從而導(dǎo)致出錯。
解決方法:啟動SQLSERVER企業(yè)管理器,選擇要進(jìn)行認(rèn)證模式設(shè)置的服務(wù)器。右擊該服務(wù)器,在彈出菜單中選擇屬性,SQL SERVER將
彈出屬性對話框在屬性對話框中選擇安全性選項(xiàng),在身份驗(yàn)證處選擇“SQL Server和Windows”,然后確定。
4.1、打開Jbuilder,選擇Tools-->Configure-->Libraries。
.2、然后在左邊的列表框下選擇New,填入:Name:sql,Location:User Home,然后點(diǎn)擊Add,
加入目錄C:Program FilesMicrosoft SQL Server 2000 JDBClib,確定 。
.3、Project-->Prject Properties-->Paths-->Required Libraries-->Add
加入剛才添加的User Home/sql確定
.4、Enterprise-->Enterprise Setup-->Database Drivers-->Add,加入U(xiǎn)ser Home/sql,
添加之后在列表框中顯示的是sql.config,確定,重新啟動JBuilder
.5、Tools-->Database
Pilot-->View-->Options-->Drivers-->Add
填入
Driver class:com.microsoft.jdbc.sqlserver.SQLServerDriver
Simple URL:microsoft:sqlserver://localhost:1433;DatabaseName=mybase
確定之后,Tools-->Database Pilot-->New的Driver里選擇
com.microsoft.jdbc.sqlserver.SQLServerDriver
在URL里填入:
microsoft:sqlserver://服務(wù)器Ip地址或主機(jī)名:1433;DatabaseName=數(shù)據(jù)庫名
點(diǎn)擊確定,雙擊或點(diǎn)擊+號輸入sql數(shù)據(jù)庫的用戶名和密碼,就完成了JB與sql的連接!
5.java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]對象名 ‘xxx' 無效
根本原因:
訪問數(shù)據(jù)庫的用戶有登錄權(quán)限,但無操作表的權(quán)限
解決辦法:
1. 在[企業(yè)控制臺]窗口–[樹]子窗口–[安全性]子樹–[登錄]項(xiàng)里將你使用的登陸用戶的默認(rèn)數(shù)據(jù)庫設(shè)為你所使用的數(shù)據(jù)庫。
2. 在[企業(yè)控制臺]窗口–[樹]子窗口–[安全性]子樹–[登錄]項(xiàng)里新增一個登錄用戶(在其中選擇SQL Server 身份驗(yàn)證、服務(wù)器角色和要訪問的數(shù)據(jù)庫),以后便可用些新增用戶訪問你勾選的數(shù)據(jù)庫了。
大家在用java連接ms sql時(shí)可能會這樣的問題
原因是sa用戶為系統(tǒng)用戶,它雖然能夠登陸數(shù)據(jù)庫,但是數(shù)據(jù)庫里邊的權(quán)限都是dbo的,所以,我們現(xiàn)在為這個數(shù)據(jù)庫重新建立一個用戶.
當(dāng)然,這個情況只發(fā)生在java里邊. .net是不會這樣的.
只要新建立一個用戶,再在權(quán)限那分配權(quán)限做好就行了.
參照(作者:佚名 文章來源:onegreen.net )
注:
部分作者在寫到用戶登錄時(shí),"PASSWORD="就行了,本人在“=”后加空格,有錯,不能連接。
不能在jbuilder中啟動項(xiàng)目,因?yàn)閖builder啟動web項(xiàng)目時(shí)是不會去讀你指定的tomcat中的server.xml的,這樣的話數(shù)據(jù)源就不可用了,如果我們不能在jbuilder中啟動項(xiàng)目,我門就不能在調(diào)試狀態(tài)下來運(yùn)行了,這樣對我們來寫程序就沒有太大意義了(當(dāng)然我們可以在外面啟動tomcat,采用遠(yuǎn)程調(diào)試的方法,這樣即可以使用數(shù)據(jù)源,也可以調(diào)試修改程序,但這個有點(diǎn)殺雞用牛刀的意思,不推薦),實(shí)際上jbuilder在啟動web項(xiàng)目時(shí)它會在工程目錄下建立一個tomcat文件架,它會去讀conf下的server8080.xml文件(8080為你為tomcat設(shè)定的端口),所以我們要想在jbuilder中啟動數(shù)據(jù)源,必須要在該配置文件中加上數(shù)據(jù)源信息),具體的是將
運(yùn)行工程,在你的主文件夾下的tomcat\conf有server8080.xml,工程停止會消失,在
server8080.xml中的一條注釋刪掉,(否則它仍然會是臨時(shí)文件,會被覆蓋的)在<host>結(jié)點(diǎn)中加上
<Resource name="jdbc/***" auth="Container"
type="javax.sql.DataSource" password="****"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
maxIdle="2"
maxWait="5000"
username="sa"
url="jdbc:microsoft:sqlserver://192.168.*.*:1433;DatabaseName=***"
maxActive="4"/>
注意這里<context>結(jié)點(diǎn)可用它自身的,不要修改,重啟項(xiàng)目,這時(shí)你就可以使用數(shù)據(jù)源了。之所以在jbuilder中啟動web項(xiàng)目有點(diǎn)麻煩,是它沒有把項(xiàng)目發(fā)布到tomcat的webapp下面去,而是把tomcat的一些東西拿過來了(相當(dāng)于),象eclispe或idea就沒有這種問題了。
以上所說的配置數(shù)據(jù)源是在jbuilder2006 tomcat5.5.9下實(shí)驗(yàn)的.參考http://www.blogjava.net/siliconchip/articles/78214.html
javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
[ ctx=new InitialContext();
Context envCtx = (Context) ctx.lookup("java:comp/env");
ds = (DataSource) ctx.lookup("jdbc/數(shù)據(jù)庫名");]
改為:[ds=(DataSource)ctx.lookup("java:comp/env/jdbc/數(shù)據(jù)庫名"]異常消失,不知有何不同?
Context envCtx = (Context) ctx.lookup("java:comp/env");改為
Context envCtx = (Context) envCtx.lookup("java:comp/env");異常消失.
在classpath這個環(huán)境變量里加入以下語句:
C:Program FilesMicrosoft SQL Server 2000 Driver for JDBClibmsbase.jar;
C:Program FilesMicrosoft SQL Server 2000 Driver for JDBClibmssqlserver.jar;
C:Program FilesMicrosoft SQL Server 2000 Driver for JDBClibmsutil.jar;
如果你的機(jī)子上正確配制了JDK的環(huán)境變量就應(yīng)該有CLASSPATH這個環(huán)境變量,若沒有就新建一個。
(http://download.microsoft.com/download/4/1/d/41d3e9c0-64d1-451e-947b-7a4cba273b2d/setup.exe)
2.檢查1433端口是否打開:NETSTAT(DOS進(jìn)入C:\WINDOWS\SYSTEM32下) NETSTAT -AN
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establis
hing socket.
出現(xiàn)上邊錯誤的主要原因是默認(rèn)的數(shù)據(jù)庫服務(wù)器端口 1433沒有打開,無法直接連接 。
這時(shí)你在命令提示行中輸入命令:netstat –an 來查看有沒有tcp:0.0.0.0:1433,如果沒有那就肯定是因?yàn)閿?shù)據(jù)庫服務(wù)器端口 1433端口沒開。這時(shí)你需要下載SQL_Serve20000的sp4補(bǔ)丁,下載安裝后會發(fā)現(xiàn),默認(rèn)C盤下SQL2KSP4中setup.dat安裝(******* 很重要******),1433端口已經(jīng)打開了,再次執(zhí)行程序,順利執(zhí)行完畢。
(http://download.microsoft.com/download/9/b/f/9bff6646-2cdb-4069-ada0-548be9cb9338/SQL2000-KB884525-SP4-x86-CHS.EXE)
3 java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]用戶 'xxx' 登錄失敗。原困是未設(shè)置SQL SERVER登錄認(rèn)證模式為混合認(rèn)證模式,因?yàn)镾QL SERVER默認(rèn)安裝后認(rèn)證模式為WINDOWS認(rèn)證模式,從而導(dǎo)致出錯。
解決方法:啟動SQLSERVER企業(yè)管理器,選擇要進(jìn)行認(rèn)證模式設(shè)置的服務(wù)器。右擊該服務(wù)器,在彈出菜單中選擇屬性,SQL SERVER將
彈出屬性對話框在屬性對話框中選擇安全性選項(xiàng),在身份驗(yàn)證處選擇“SQL Server和Windows”,然后確定。
4.1、打開Jbuilder,選擇Tools-->Configure-->Libraries。
.2、然后在左邊的列表框下選擇New,填入:Name:sql,Location:User Home,然后點(diǎn)擊Add,
加入目錄C:Program FilesMicrosoft SQL Server 2000 JDBClib,確定 。
.3、Project-->Prject Properties-->Paths-->Required Libraries-->Add
加入剛才添加的User Home/sql確定
.4、Enterprise-->Enterprise Setup-->Database Drivers-->Add,加入U(xiǎn)ser Home/sql,
添加之后在列表框中顯示的是sql.config,確定,重新啟動JBuilder
.5、Tools-->Database
Pilot-->View-->Options-->Drivers-->Add
填入
Driver class:com.microsoft.jdbc.sqlserver.SQLServerDriver
Simple URL:microsoft:sqlserver://localhost:1433;DatabaseName=mybase
確定之后,Tools-->Database Pilot-->New的Driver里選擇
com.microsoft.jdbc.sqlserver.SQLServerDriver
在URL里填入:
microsoft:sqlserver://服務(wù)器Ip地址或主機(jī)名:1433;DatabaseName=數(shù)據(jù)庫名
點(diǎn)擊確定,雙擊或點(diǎn)擊+號輸入sql數(shù)據(jù)庫的用戶名和密碼,就完成了JB與sql的連接!
5.java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]對象名 ‘xxx' 無效
根本原因:
訪問數(shù)據(jù)庫的用戶有登錄權(quán)限,但無操作表的權(quán)限
解決辦法:
1. 在[企業(yè)控制臺]窗口–[樹]子窗口–[安全性]子樹–[登錄]項(xiàng)里將你使用的登陸用戶的默認(rèn)數(shù)據(jù)庫設(shè)為你所使用的數(shù)據(jù)庫。
2. 在[企業(yè)控制臺]窗口–[樹]子窗口–[安全性]子樹–[登錄]項(xiàng)里新增一個登錄用戶(在其中選擇SQL Server 身份驗(yàn)證、服務(wù)器角色和要訪問的數(shù)據(jù)庫),以后便可用些新增用戶訪問你勾選的數(shù)據(jù)庫了。
大家在用java連接ms sql時(shí)可能會這樣的問題
原因是sa用戶為系統(tǒng)用戶,它雖然能夠登陸數(shù)據(jù)庫,但是數(shù)據(jù)庫里邊的權(quán)限都是dbo的,所以,我們現(xiàn)在為這個數(shù)據(jù)庫重新建立一個用戶.
當(dāng)然,這個情況只發(fā)生在java里邊. .net是不會這樣的.
只要新建立一個用戶,再在權(quán)限那分配權(quán)限做好就行了.
參照(作者:佚名 文章來源:onegreen.net )
注:
部分作者在寫到用戶登錄時(shí),"PASSWORD="就行了,本人在“=”后加空格,有錯,不能連接。
不能在jbuilder中啟動項(xiàng)目,因?yàn)閖builder啟動web項(xiàng)目時(shí)是不會去讀你指定的tomcat中的server.xml的,這樣的話數(shù)據(jù)源就不可用了,如果我們不能在jbuilder中啟動項(xiàng)目,我門就不能在調(diào)試狀態(tài)下來運(yùn)行了,這樣對我們來寫程序就沒有太大意義了(當(dāng)然我們可以在外面啟動tomcat,采用遠(yuǎn)程調(diào)試的方法,這樣即可以使用數(shù)據(jù)源,也可以調(diào)試修改程序,但這個有點(diǎn)殺雞用牛刀的意思,不推薦),實(shí)際上jbuilder在啟動web項(xiàng)目時(shí)它會在工程目錄下建立一個tomcat文件架,它會去讀conf下的server8080.xml文件(8080為你為tomcat設(shè)定的端口),所以我們要想在jbuilder中啟動數(shù)據(jù)源,必須要在該配置文件中加上數(shù)據(jù)源信息),具體的是將
運(yùn)行工程,在你的主文件夾下的tomcat\conf有server8080.xml,工程停止會消失,在
server8080.xml中的一條注釋刪掉,(否則它仍然會是臨時(shí)文件,會被覆蓋的)在<host>結(jié)點(diǎn)中加上
<Resource name="jdbc/***" auth="Container"
type="javax.sql.DataSource" password="****"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
maxIdle="2"
maxWait="5000"
username="sa"
url="jdbc:microsoft:sqlserver://192.168.*.*:1433;DatabaseName=***"
maxActive="4"/>
注意這里<context>結(jié)點(diǎn)可用它自身的,不要修改,重啟項(xiàng)目,這時(shí)你就可以使用數(shù)據(jù)源了。之所以在jbuilder中啟動web項(xiàng)目有點(diǎn)麻煩,是它沒有把項(xiàng)目發(fā)布到tomcat的webapp下面去,而是把tomcat的一些東西拿過來了(相當(dāng)于),象eclispe或idea就沒有這種問題了。
以上所說的配置數(shù)據(jù)源是在jbuilder2006 tomcat5.5.9下實(shí)驗(yàn)的.參考http://www.blogjava.net/siliconchip/articles/78214.html
javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
[ ctx=new InitialContext();
Context envCtx = (Context) ctx.lookup("java:comp/env");
ds = (DataSource) ctx.lookup("jdbc/數(shù)據(jù)庫名");]
改為:[ds=(DataSource)ctx.lookup("java:comp/env/jdbc/數(shù)據(jù)庫名"]異常消失,不知有何不同?
Context envCtx = (Context) ctx.lookup("java:comp/env");改為
Context envCtx = (Context) envCtx.lookup("java:comp/env");異常消失.
您可能感興趣的文章:
- JBuilderX+SQL Server開發(fā)hibernate
- asp.net Reporting Service在Web Application中的應(yīng)用
- mysqlreport顯示Com_中change_db占用比例高的問題的解決方法
- PHP函數(shù)之error_reporting(E_ALL ^ E_NOTICE)詳細(xì)說明
- PHP中error_reporting()函數(shù)的用法(修改PHP屏蔽錯誤)
- SQL Server 2008+ Reporting Services (SSRS)使用USER登錄問題
- SqlCommandBuilder如何實(shí)現(xiàn)批量更新
- SqlCommandBuilder類批量更新excel或者CSV數(shù)據(jù)的方法
- SQL Report Builder 報(bào)表里面的常見問題分析
相關(guān)文章
初步學(xué)習(xí)Java中線程的實(shí)現(xiàn)與生命周期
這篇文章主要介紹了初步學(xué)習(xí)Java中線程的實(shí)現(xiàn)與生命周期,線程方面的知識是Java學(xué)習(xí)過程中的重點(diǎn)和難點(diǎn),需要的朋友可以參考下2015-11-11springboot遠(yuǎn)程debug調(diào)試全過程
這篇文章主要介紹了springboot遠(yuǎn)程debug調(diào)試全過程,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05Java Socket實(shí)現(xiàn)傳輸壓縮對象的方法示例
這篇文章主要介紹了Java Socket實(shí)現(xiàn)傳輸壓縮對象的方法,結(jié)合具體實(shí)例形式分析了java socket針對數(shù)據(jù)的壓縮、傳輸、接收、解壓縮等操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-06-06通過jstack分析解決進(jìn)程死鎖問題實(shí)例代碼
這篇文章主要介紹了通過jstack分析解決進(jìn)程死鎖問題實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01