當前位置:首頁 » 編程語言 » sql訪問多次導致報錯
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql訪問多次導致報錯

發布時間: 2022-11-19 01:51:48

A. sql鏈接次數多了就訪問不了。如何清除

Connection要關閉
拋異常在finally
{
connection.close();//這里寫你的連接
}
每次用了都關掉

B. SQL執行錯誤怎麼辦

  • MySQL軟體所提供的許可權(mysql.user、mysql.db、mysql.host)
    (1) 系統表mysql.user
    user許可權表中欄位分為四類: 用戶欄位、許可權欄位、安全欄位和資源控制欄位。

  • 用戶欄位

  • 用戶欄位.png

  • 許可權欄位

  • 許可權欄位.png

  • 安全欄位

  • 安全欄位.png

  • # 查看是否支持ssl標准show variables like 'have_openssl';123

  • 資源控制欄位

  • 資源控制.png


    系統表mysql.user中的所有資源欄位的默認值為0,表示沒有任何限制。
    (2) 系統表mysql.db和mysql.host
    在系統資料庫mysql中,許可權表除了表user外,還有表db和表host,這兩張表都存儲了某個用戶對資料庫的許可權。

  • 用戶欄位
    mysql.db表

  • mysql.db表.png

    mysql.host表

    mysql.host表.png

  • 許可權欄位

  • 許可權欄位.png


    (3)其他許可權表
    在系統資料庫mysql中,除了上述許可權表外,還有表tables_priv和columns_priv,其中標tables_priv用來實現單個表的許可權設置,表columns_priv用來實現單個欄位列的許可權設置。

  • 系統表mysql.tables_priv表結構

    mysql.tables_priv表結構.png

    mysql.tables_priv表結構.png

  • 系統表mysql.columns_priv的表結構

  • columns_priv的表結構png

  • 用戶機制
    (1) 登錄和退出MySQL軟體的完整命令

  • # 登錄mysql -h 127.0.0.1 -u root -p# 退出(q)exit|quit12345

  • (2) 創建普通用戶賬戶

  • 執行CREATE USER語句來創建用戶賬戶

  • create user 'mazaiting'@'localhost' identified by '123456';12

  • 執行INSERT語句來創建用戶

  • insert into user(host,user,password,ssl_cipher,x509_issuer,x509_subject)values('localhost', 'linghaoyu', password('linghaoyu'),'','','');# 使新建用戶生效flush privileges;12345

  • 執行GRANT語句來創建用戶

  • grant select on company.t_deptto 'wangxingqin'@'localhost' identified by 'wangxingqin';123

  • (3) 利用超級許可權用戶root修改用戶賬戶密碼

  • 修改超級許可權用戶賬戶密碼

  • # 通過mysqladmin命令修改root用戶密碼mysqladmin -u root -p password "123456"# 通過SET命令修改密碼set password=password("123456");# 更新系統表mysql.user數據記錄修改root用戶密碼update user set password=password("123456")where user="root" and host="localhost";12345678

  • (4) 利用擁有超級許可權用戶root修改普通用戶賬戶密碼

  • # 創建用戶grant select,create,drop on *.*to 'mazaiting'@'localhost' identified by 'mazaiting'with grant option;# 通過grant命令修改用戶密碼grant select,create,drop on *.*to 'mazaiting'@'localhost' identified by '123456';# 通過set命令修改用戶密碼set password for 'mazaiting'@'localhost'=password("123456");# 更新系統表mysql.user數據記錄修改用戶密碼update user set password=password("mazaiting")where user='mazaiting' and host='localhost';# 登錄當前用戶,並使用set命令修改密碼set password=password("123456");123456789101112131415

  • (5) 刪除普通用戶賬戶

  • 通過DROP USER語句刪除普通用戶

  • drop user 'mazaiting'@'localhost';12

  • 刪除系統表mysql.user數據記錄實現刪除用戶賬號

  • # 選擇mysql資料庫use mysql;# 刪除用戶delete from user where user='mazaiting' and host='localhost';12345

  • 許可權管理
    (1) 對用戶進行授權

  • # 創建用戶grant select,create,drop on *.*to 'mazaiting'@'localhost' identified by 'mazaiting'with grant option;# 查詢表數據記錄select host,user,password,select_priv,update_priv,grant_priv,drop_privfrom mysql.userwhere user='mazaiting' G12345678910

  • (2) 查看用戶所擁有許可權

  • show grants for 'mazaiting'@'localhost' G12

  • (3) 收回用戶所擁有許可權

  • # 回收用戶的查詢許可權revoke select on *.* from 'mazaiting'@'localhost';# 回收用戶的全部許可權revoke all privileges, grant optionfrom 'mazaiting'@'localhost

C. sql2000區域網訪問提示資料庫錯誤

1、安裝SQL2000最高的補丁,應該是SP4
2、路由器中需要將A主機的1433埠(若你未修改過埠的話)對外映射
3、還有種可能,需要關閉A主機上的防火牆,或者是在防火牆上開啟1433的埠允許訪問

D. sql資料庫連接出錯

在連接到
SQL
Server
2005
時,在默認的設置下
SQL
Server
不允許進行遠程連接可能會導致此失敗。
(provider:
命名管道提供程序,
error:
40
-
無法打開到
SQL
Server
的連接)
錯誤:"在連接到
SQL
Server
2005
時,在默認的設置下
SQL
Server
不允許進行遠程連接可能會導致此失敗。
(provider:
命名管道提供程序,
error:
40
-
無法打開到
SQL
Server
的連接)
"
上述錯誤我遇到兩種情況,一種是在打開打開SQL
Server
2005時彈出的,另一種是在應用程序連接SQL
Server
2005時出現的.歸納了一下,由以下幾個原因:
1.資料庫引擎沒有啟動.
有兩種啟動方式:
(1)開始->程序->Microsoft
SQL
Server
2005->SQL
Server
2005外圍應用配置器,在打開的界面單擊"服務的連接的外圍應用配置器",在打開的界面中找到Database
Engine,單擊"服務",在右側查看是否已啟動,如果沒有啟動可單擊"啟動",並確保"啟動類型"為自動,不要為手動,否則下次開機時又要手動啟動;
(2)可打開:開始->程序->Microsoft
SQL
Server
2005->配置工具->SQL
Server
Configuration
Manager,選中SQL
Server
2005服務中SQL
Server(MSSQLSERVER)
,並單擊工具欄中的"啟動服務"按鈕把服務狀態改為啟動;
使用上面兩種方式時,有時候在啟動的時候可能會出現錯誤,不能啟動,這時就要查看"SQL
Server
2005配置管理器"中的SQL
Server
2005網路配置->MSSQLSERVER協議中的VIA是否已啟用,如果已啟用,則把它禁止.然後再執行上述一種方式操作就可以了.
2.進行遠程連接時,是否已允許遠程連接.
SQL
Server
2005
在默認情況下僅限本地連接.我們可以手動啟用遠程連接.在上面第一種方式中,找到Database
Engine,單擊"遠程連接",在右側將"僅限本地連接(L)"改為"本地連接和遠程連接(R)",並選中"同時使用TCP/IP和named
pipes(B)".
3.如果是遠程連接,則還要查看連接資料庫的語句是否正確,登錄賬戶是否正確,密碼是否正確等.
我在一次區域網內連接資料庫時,就要因為連接字元串出了問題,在區域網內一台機子連接另一台機子上資料庫時,把server=裝有資料庫的另一台機子的IP.我在連接資料庫時總是出現上面的錯誤,查了好長時間,後來發現,IP沒有正確到傳到連接字元串,原來我在連接時,使用的是本地,即127.0.0.1,輸入的IP沒有傳到連接字元串.
以上是我歸納的幾種情況,希望能對遇到類似問題的朋友提供些幫助和參考.
以上的資料來源於互聯網,但是我在實際中還想到了一個問題,就是多看一下事件日誌,例如這次的事件,我所得到的提示信息也是如此,但是如果按照當時的想法,我也認為是SQL出現了問題,在冷靜一下以後,我查看了系統日誌,看到的日誌卻是如下:
由於下列錯誤,SQL
Server
FullText
Search
(MSSQLSERVER)
服務啟動失敗:
由於登錄失敗而無法啟動服務。
明白了!原來我由於擔心密碼的問題,修改了登錄的用戶名和密碼,而SQL在安裝完成後,服務的啟動是採用administrator登錄,當我修改了administrator後,並未修改服務的登錄屬性,所以服務根本就無法正常啟動。這個問題正好是出現在我修改了密碼後,並未立即重啟伺服器,而是在數天之後,所以也忘記了這個原因。修改了登錄屬性後,SQL登錄正常。

E. SQL連接時報錯

第一如果是連接本地的資料庫,伺服器名稱: 可以填寫 這個一個點(例.)就可以,.或者127.0.0.1;
第二 配置一下環境,允許遠程連接.

F. sql 連接伺服器時候出現拒絕訪問,發生錯誤55

逐一檢查:

1、 防火牆;
2、1433埠;
來排除故障,但今天發現有以下情況同樣會造成這個現象。
排除過程:
1、檢查防火牆設置和1433埠設置正確;
2、如果出現「找不到網路路徑」的報錯,那麼最好先PING一下它的IP地址。如果PING不通,那麼需要先確認它是否連在網路或者網路連通性是否正常。然後查看是否啟用了防火牆或者屏蔽掉了相應的埠。如果PING IP地址是正常的,但PING目標機器的計算機名不通,則需要查看是事網路名稱解析有問題。關於如何診斷名稱解析問題,可以先查看是所有客戶端機器有問題還是某一台機器有問題。如果是所有機器的名稱解析都有問題,那麼你需要到網路的DNS或WINS伺服器上檢查了。如果只是某一台機器有問題,你需要先檢查一下hosts和lmhosts文件;如果正常,可以重新注冊一下DNS名字(ipconfig/reisterdns)。
----正常;

3、如果出現「xxx計算機無法訪問,您可能沒有許可權使用網路資源。請與這台伺服器的管理員聯系以查明您是否有訪問許可權」的報錯,這可能是計算機的安全設置被改動過了,導致目標計算機無法被訪問。可以採取以下步驟解決:
---存在這個問題,通過以下方法來解決

a. 打開「我的電腦」,在菜單上選擇「工具」->「文件夾選項」->「查看」,清除「使用簡單文件共享(推薦)」的選擇。

b. 右鍵點擊「我的電腦」,選擇「管理」,選擇「本地用戶和組」->「用戶」,右鍵點擊Guest用戶,選「屬性」,清除「帳戶已停用」的選擇。

c. 點擊「開始」->「運行」,輸入secpol.msc,選擇左邊的「本地策略」->「用戶權力指派」,雙擊右邊的「從網路訪問此計算機」,保證其中有Everyone,雙擊左邊的「拒絕從網路訪問此計算機」,保證其是空的。

d. 選擇左邊的「本地策略」->「安全選項」,a.確認右邊的「網路訪問:本地帳戶的共享與安全模式」為「經典」;b.確認右邊的「Microsoft網路客戶:為通訊啟用數字簽名(總是)」為「已停用」;c.確認右邊的「Microsoft網路客戶:為通訊啟用數字簽名(如果伺服器允許)」為「已啟用」;d.確認右邊的「Microsoft網路伺服器:為通訊啟用數字簽名(總是)」為「已停用」;e.確認右邊的「Microsoft網路伺服器:為通訊啟用數字簽名(如果伺服器允許)」為「已啟用」。

G. sql server能連接,但程序訪問報錯

你檢查下 你的這個資料庫 是否有許可權 是否可以這樣子操作。。 還有 。。 你確認下 你的C#鏈接語句裡面的登錄名和密碼 還有DataSource 是否是你遠程鏈接的資料庫所在的IP 例如 你的遠程資料庫是在172.16.8.116上。 那麼你的鏈接語句DataSource 就要寫172.16.8.116 資料庫名 你要練接的資料庫名字

H. 求救:同一頁面中多次使用sql top + order by就報錯說缺少對象,怎麼解決

下面的sql和rs改變一下名稱,比如asql或ars

也可以關閉上面的rs。
rs.close

I. 使用C#循環反復多次連接SQL資料庫,出現「內部連接致命錯誤」的問題,怎麼解決

利用DataAdapter和DataSet不用Connection的Open,即可以不用判斷SqlConnection的狀態,而直接使用

SqlDataAdapter SQLda = new SqlDataAdapter(SQLstr, My_con);
DataSet My_DataSet = new DataSet();
SQLda.Fill(My_DataSet, tableName);

J. 直接用sql語句運行次數過多真的會出錯嗎

執行sql是否出錯跟次數多少沒有直接關系,指的可能是並發控制方面的問題。可能出現多個人對同一記錄進行修改操作,如一個在進行刪除而一個在進行修改信息操作,這樣使資料庫的數據出現不一致性問題,並發控制也以出現一個修改操作沒有提交就被另一個人修改使得數據不正確。