A. 用sql Server2008做Java編程練習時,出現了一個嚴重錯誤,沒看明白是怎麼回事,請高手解答一下,O(∩_∩)O
問題1】com.microsoft.sqlserver.jdbc.SQLServerException:不支持此伺服器版本。目標伺服器必須是 SQL Server 2000 或更高版本。
出現這個問題的原因是2008和2005的驅動不一樣,所以,我們需要下載2008的JDBC驅動,
com.microsoft.sqlserver.jdbc.SQLServerDriver
http://www.microsoft.com/downloads/en/confirmation.aspx?familyId=c47053eb-3b64-4794-950d-81e1ec91c1ba&displayLang=en
或者直接打開
http://download.microsoft.com/download/b/4/7/b4761c5f-2d80-40dc-aa86-0795c70893e8/Download_SQL_JDBC_Driver_12.htm
微軟目前沒有發布針對SQL Server 2008專用的JDBC驅動程序,使用SQL Server2005的就可以了,但是,需要注意:SQL Server2008的新功能無法使用,這個必須等專用的JDBC發布之後才能使用。下載地址中選擇:「Microsoft SQL Server 2005 JDBC Driver1.2 」即可,雙擊「sqljdbc_1.2.2828.100_enu.exe」,安裝後出現「sqljdbc.jar」文件。
【第二步配置埠】
(1)配置工具->SqlServer Configuration Manager->MSSQLSERVER的協議看看TCP/IP協議是否啟動,如果啟動,右鍵菜單點"屬性",在分頁菜單中選"IP地址",把"IP1"和"IP2"中"TCP埠"為1433,"已啟用"改為"是"
(2)配置工具->SqlServer Configuration Manager->SQLNative Client 配置->客戶端協議->TCP/IP選擇TCP/IP右鍵菜單中"屬性",確認"默認埠"是1433,"已啟用"為"是"
【問題3】後來出現了一個問題是:用戶 'sa'登錄失敗.後來才發現原來是SqlServer服務沒有打開,於是乎,啟動SqlServer服務,但是卻一直是啟動失敗。
後來仔細的回憶了一下,當初修改了一個埠,而實際上SQLEXPRESS中的tcp/ip保持默認即可,不需要修改埠為1433,否則會出現沖突提示。所以,只要保持它的動態埠即可。其中的14544埠當時被改成了1433。
修改完成後,重啟相應服務,即可。
這個是網址http://blog.163.com/gaoxueyu_hope/blog/static/8520441120103983633171/ 不知道能否幫到你,呵呵
B. SQL2005附加資料庫失敗
首先注意下51ASPX註明的資料庫版本,如果是2000的,你用2005附加就會失敗。
確認當前登錄用戶的許可權,是否允許附加資料庫。確認操作系統用戶許可權,是否有操作磁碟的許可權。
另外可以測試其他數據是否可以附加,已確認是數據文件的問題,還是環境的問題。
如果其他數據可以附加,這查看ATTENDANCE.MDF文件的訪問許可權。
一點一點排除吧。
C. 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL serve
SQL語法有錯誤,根據符合你的MySQL伺服器版本中的正確語法核對第一行的'<?phprequire("../../inc/header.php")' 附近的錯誤改正。
D. sql語句 decimal(18,0)什麼意思
decimal(18,0),數值中共有18位數,其中整數佔18位,小數佔0位。Decimal(n,m)表示數值中共有n位數,其中整數n-m位,小數m位。
例:decimal(2,1),此時,插入數據「12.3」、「12」等會出現「數據溢出錯誤」的異常;插入「1.23」或「1.2345...」會自動四捨五入成「1.2」;插入「2」會自動補成「2.0」,以確保2位的有效長度,其中包含1位小數。
當用 int類型會有溢出時,可以用 decimal 類型進行處理,把結果可以用 convert 或是 cast 進行轉換。
(4)sql錯誤950擴展閱讀:
Decimal 數據類型Decimal 變數存儲為 96 位(12 個位元組)無符號的整型形式,並除以一個 10 的冪數。這個變比因子決定了小數點右面的數字位數,其范圍從 0 到 28。變比因子為 0(沒有小數位)的情形下,最大的可能值為 +/-79,228,162,514,264,337,593,543,950,335。
在有 28 個小數位的情況下,最大值為 +/-7.9228162514264337593543950335,而最小的非零值為 +/-0.0000000000000000000000000001。注意 此時,Decimal 數據類型只能在 Variant中使用,也就是說,不能聲明一變數為 Decimal 的類型。
不過可用 Cdec 函數,創建一個子類型為 Decimal 的 Variant。 這樣就對了。Decimal類型消除了發生在各種浮點運算中的舍入誤差,並可以准確地表示28個小數位。
E. 高手請進!關於sql sever不同版本差異和學習上的問題
你做的操作應該是把你2014的數據放到2000的吧,簡單的還原時沒法實現的,因為SqlServer是向下兼容,所以早期的版本不兼容後期版本,反之則兼容。要將2014的數據放到2000,需要用生成腳本的方法,方法具體操作可自行網路。
下面回答你的問題:
1.微軟的軟體都是向下兼容的。
2.要學習的話學最穩定的版本比較好,目前來說就是2008,因為最新版本用的不是很多。當然最新的勁量了解學習,因為遲早會成為最流行的版本。
3.sql語句在不同版本確實有少部分差別。不過目前SqlServer的tsql用在2000和2014是沒差的,都是一樣的語法。你那沒辦法運行的應該是sql語句使用的視圖或者功能已經被舍棄掉了,這個在大版本發布時是存在的
F. 2000資料庫 附加2012錯誤950
不能直接把sql2000直接附加到2012上面去,你得中間用個2005或者2008的版本過度下才行。
G. asp訪問sql資料庫問題
1.
<!-#include file=gpan\asptest\conn1.asp->
<!-- #include file="gpan/asptest/conn1.asp" -->
2.
可能因為未找到 conn1.asp 文件所以 沒有 conn 變數,導致在40行的時候報錯。改一下 試試。
H. 2014附加資料庫 時出錯,有關詳細信息,顯示版本不兼容,有什麼處理辦法嗎,各位大神幫幫忙
此類錯誤,需要使用SQL2008資料庫載入後,再在SQL2014里載入,就不會出錯了。
------------------
對於這個錯誤,糾結了好久,最後在偶然在微軟官方上看到:附加資料庫的版本是SQL Server2005的,而現在使用的是SQL Server2014,SQL Server2014對於SQL Server2008是兼容的,但是不兼容SQL Server2005。
解決辦法:將SQL Server2005的資料庫用SQL Server2008附加一下,重新生成腳本,這樣SQL Server2012就可以附加了。
I. sql server 2012上添加2000的MDF文件,出現錯誤950,我的操作步驟是Attach->mdf, 有什麼辦法搞定,謝謝!
2000的不能直接attach到2012,需要用SQL Server 2005, 2008或2008 R2過渡一下。
J. decimal(6,2)是什麼意思
decimal(6,2)中的「2」表示小數部分的位數,如果插入的值未指定小數部分或者小數部分不足兩位則會自動補到2位小數,若插入的值小數部分超過了2為則會發生截斷,截取前2位小數。
「6」指的是整數部分加小數部分的總長度,也即插入的數字整數部分不能超過「10-2」位,否則不能成功插入,會報超出范圍的錯誤。
(10)sql錯誤950擴展閱讀:
對SQL Server而言,decimal和numeric視為相同的類型,它們可用來保存具有小數點而且數值確定的數值。它們不像float和real是用來保存近似值。此類型的列其聲明方式為decima[(p[,s])]或numericl[(p[,s])]。其中p是此數值全部的位數,含小數部分但不包括小數點,s則是小數的位數。
p值稱為此數值的精確度,例如:decimal(10,3)表示共有7位整數3位小數,此例的精確度為10位。此類型的列可保存的值范圍為1038-1到-1038-1之間。其佔用存儲空間依精確度不同而不同,下表給出Decimal類型變數精確度和佔用空間的關系。