❶ vs code 查詢sql 死循環怎麼辦
static string connection="Server=(Local)\\GSQL;DataBase=MMIS;User id=sa;pwd=admin"; 就把這句改了就好了,應該 ConnectionString=="Server=(Local)\\GSQL;DataBase=MMIS;User id=sa;pwd=admin";
❷ SQL 表運行時,不停地循環提示列無效,是哪裡出的問題
很明顯,你的Customer表裡沒有PCB4這個列啊^_^
❸ 如何用Sql語句循環執行語句
SQL語句無法實現循環,只能通過程序或者存儲過程來實現。
如果只是一次性工作,則建議直接用EXCEL的公式手批量生成SQL語句 然後一次性貼到MYSQL的命令行工具中執行即可。
S1 : 創建一個模板表 create table t (id int, col1 int , col2 varchar(10));
S2 : EXCEL中在A1輸入 ="create table t"&ROW()&" like t;"
S3: 下拉填充這個A1至A1000
create table t1 like t;
create table t2 like t;
create table t3 like t;
create table t4 like t;
create table t5 like t;
create table t6 like t;
create table t7 like t;
create table t8 like t;
create table t9 like t;
create table t10 like t;
S4: 復制到MYSQL命令行工具一次行執行。
❹ sql讀取資料庫變成了無限循環,幫忙看看出錯的地方,幾行代碼
mysql_query($sql)放到上面! 單獨執行 ! $re=mysql_query($sql);
while($row = mysql_fetch_array($re)) { echo "".$row['word']."";echo"no problme";}
❺ sql資料庫查詢中斷、無法修復的一致性錯誤、無法導出數據, 數據怎麼恢復
資料庫損壞最行之有效的辦法就是存在冗餘數據,使用冗餘數據進行恢復。所謂的冗餘數據包括熱備、冷備、和暖備。
使用鏡像或可用性組作為熱備,當檢測到錯誤時,可以自動進行頁修復(鏡像要求2008以上,可用性組是2012的功能)。鏡像當主體伺服器遭遇824錯誤時,會向鏡像伺服器發送請求,將損壞的頁由鏡像復制到主體解決該問題。對於可用性組,如果數據頁是在主副本上發現的,則主副本將會向所有輔助副本發送廣播,並由第一個響應的輔助副本的頁來修復頁錯誤,如果錯誤出現在只讀輔助副本,則會向主副本請求對應的頁來修復錯誤。在這里有一點值得注意的是,無論是哪一種高可用性技術,都不會將頁錯誤散播到冗餘數據中,因為SQL Server中所有的高可用性技術都是基於日誌,而不是數據頁。
其次是使用暖備或冷備來還原頁,我已經在代碼清單1中給出了詳細的代碼,這里就不細說了。
如果沒有合適的備份存在,如果損壞的數據頁是存在於非聚集索引上,那麼你很幸運,只需要將索引禁用後重建即可。
如果存在基準的完整備份,並且日誌鏈沒有斷裂(包括差異備份可以Cover日誌缺失的部分),則可以通過備份尾端日之後還原資料庫來進行修復。
最後,如果基礎工作做的並不好,您可能就需要通過損失數據的方式來換回資料庫的一致性,我們可以通過DBCC CheckDB命令的REPAIR_ALLOW_DATA_LOSS來修復資料庫。使用該方法可能導致數據損失,也可能不會導致數據損失,但大部分情況都會通過刪除數據來修復一致性。使用REPAIR_ALLOW_DATA_LOSS需要將資料庫設置為單用戶模式,這意味著宕機時間。
無論是哪種情況修復資料庫,都要考慮是否滿足SLA,如果出現了問題之後,發現無論用哪種方式都無法滿足SLA的話,那隻能檢討之前的准備工作並祈禱你不會因此丟了工作。
❻ 怎樣修復已經損壞的SQL資料庫
有兩種方法,一種方法使用mysql的check table和repair table 的sql語句,另一種方法是使用MySQL提供的多個myisamchk, isamchk數據檢測恢復工具。
前者使用起來比較簡便。推薦使用。
1、check table 和 repair table 登陸mysql 終端: mysql -uxxxxx -p dbname check table tabTest;
如果出現的結果說Status是OK,則不用修復,如果有Error,可以用: repair table tabTest; 進行修復,修復之後可以在用check table命令來進行檢查。
在新版本的phpMyAdmin裡面也可以使用check/repair的功能。
2. myisamchk, isamchk 其中myisamchk適用於MYISAM類型的數據表,而isamchk適用於ISAM類型的數據表。
這兩條命令的主要參數相同,一般新的系統都使用MYISAM作為預設的數據表類型,這里以myisamchk為例子進行說明。
當發現某個數據表出現問題時可以使用: myisamchk tablename.MYI 進行檢測,如果需要修復的話,可以使用: myisamchk -of tablename.MYI 關於myisamchk的詳細參數說明,可以參見它的使用幫助。
需要注意的時在進行修改時必須確保MySQL伺服器沒有訪問這個數據表,保險的情況下是最好在進行檢測時把MySQL伺服器Shutdown掉。
2、另外可以把下面的命令放在你的rc.local裡面啟動MySQL伺服器前: [ -x /tmp/mysql.sock ] && /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI 。
其中的/tmp/mysql.sock是MySQL監聽的Sock文件位置,對於使用RPM安裝的用戶應該是/var/lib/mysql/mysql.sock,對於使用源碼安裝則是/tmp/mysql.sock可以根據自己的實際情況進行變更,而pathtochk則是myisamchk所在的位置,DATA_DIR是你的MySQL資料庫存放的位置。
需要注意的是,如果你打算把這條命令放在你的rc.local裡面,必須確認在執行這條指令時MySQL伺服器必須沒有啟動!
最後檢測修復所有資料庫(表)。
❼ SQL死循環問題
if rs.eof and rs.bof then
response.write "<tr><td>暫無內容</td></tr>"
else
SQL語句代碼:
<%set rs1=server.createobject("adodb.recordset")
sql1="select * from SMT_ypxxtwo where SMT_ypxxone_id="&ypxxone_id&" order by SMT_date desc"
rs1.open sql1,conn,1,1
'加在這里
if rs.eof and rs.bof then
response.write "<tr><td>暫無內容</td></tr>"
else
do while not rs1.eof
%>
<A href="sca_vlist.asp?id=<%=rs1("SMT_ypxxtwo_id")%>" target="_blank"><%=rs1("SMT_ypxxtwo")%></A>
<%rs1.movenext
if rs1.eof then exit do'加這個跳出循環
loop
end if ' 結束
rs1.close%>
❽ 怎樣修復已經損壞的SQL資料庫
1.停止SQL Server的服務,備份SQL Server安裝目錄下的\data子目錄
下故障資料庫的兩個文件,一個數據文件hbposv6_branch_data.mdf,
一個hbposv6_branch_log.ldf(也有可能非此命名),同時查看磁碟
空間是否有足夠的空間;
2.啟動SQL Server服務(如已停止),創建一個新的資料庫,命名為
原來資料庫的名字。
3.停止SQL Server
4.把老資料庫的MDF文件(hbposv6_branch_data.mdf)替換
新資料庫的相應的MDF文件,
並把LDF文件(hbposv6_branch_log.ldg)刪除。
5.重新啟動SQL Server服務,然後運行如下命令:
Use Master
go
sp_configure 'allow updates', 1
reconfigure with override
go
begin tran
update sysdatabases set status = 32768 where name = 'hbposv6_branch'
--Verify one row is updated before committing
commit tran
go
6.停止SQL然後重新啟動SQL Server服務,然後運行如下命令
(更換日誌文件路徑地址):
use master
go
DBCC TRACEON(3604)
DBCC REBUILD_LOG
('hbposv6_branch',
'c:\Program Files\Microsoft SQL Server\MSSQL\Data\hbposv6_branch_log.ldf')
--在這里,請輸入你的資料庫的路徑
go
7.停止SQL然後重新啟動SQL Server服務,然後運行:
use master
go
update sysdatabases set status = 8 where name = 'hbposv6_branch'
go
sp_configure 'allow updates', 0
reconfigure with override
go
8.運行dbcc checkdb(db_name) 檢查資料庫的完整性
9.修復數庫
--請在查詢分析器中執行下列語句.執行前斷開其它
所有資料庫連接,最好是斷開網線
--如果不是該資料庫名,請將資料庫
--hbposv6_branch
--改為要修復的資料庫
USE master
Go
--單用戶模式
EXEC sp_dboption 'hbposv6_branch', 'single user', 'TRUE'
go
--資料庫檢查
DBCC CHECKDB ('hbposv6_branch')
Go
--如果返回結果出現了紅色的提示文字,說明資料庫中存在錯誤,需要修復
--資料庫修復
DBCC CHECKDB ('hbposv6_branch','repair_rebuild')
Go
--再次資料庫檢查,如果返回結果中沒有了紅色的提示文字,
說明修復成功;
DBCC CHECKDB ('hbposv6_branch')
Go
--否則意味著還需要更高級別的修復;嘗試將上面修復語句的
'repair_rebuild'換為'repair_allow_data_loss'再試,
之後再次檢查資料庫。
--如果還有錯誤未修復,請把這些信息以文字的方式發給我們
--退出前請一定要執行以下語句返回到多用戶模式
EXEC sp_dboption 'hbposv6_branch', 'single user','FALSE'
go
註:都要把 dbname 替換成真實的資料庫名字。
❾ 求助SQL SERVER循環問題
表A 的列Y 與 表B 的列H 是主外鍵(關聯)的話可以用表連接
UPDATEASET
A.列1=B.列1,
A.列2=B.列2
--A.列3=B.列3……
FROMAINNERJOINB
ONA.Y=B.H
--WHERE條件語
--記得採納
❿ sql 循環出錯
小子你用sql server的寫法來寫oracle的語句,服了YOU
下面是標准寫法,學著點
--------------
Declare
id number;
begin
id:=0;
WHILE id<10 LOOP
DBMS_OUTPUT.PUT_LINE('id的值:'||id);
id:=id+1;
END LOOP;
DBMS_OUTPUT.PUT_LINE('循環後id的值:'||id);
END;