oracle定義變量sql賦值_ORACLE獲取SQL綁定變量值的方法總結

本文總結一下ORACLE數據庫中如何獲取SQL綁定變量值的方法,在SQL優化調優過程中,經常會用到這方面的知識點。在此梳理、總結一下這方面的知識點,方面日后查找、翻閱。

方法1:查詢V$SQL

V$SQL視圖中的BIND_DATA字段用來存儲綁定變量的值,但是從這個視圖查詢綁定變量的值,有很大的局限性:

  1. 它的記錄頻率受_cursor_bind_capture_interval隱含參數控制,默認值為900,表示每900秒記錄一次綁定值,也就是說在900內,綁定變量值的改變不會反應在這個視圖中。除非你調整隱含參數_cursor_bind_capture_interval

  2. 它記錄的僅僅最后一次捕獲的綁定變量值。

  3. BIND_DATA數據類型為RAW,需要進行轉換。

可以使用下面兩種方式來查看綁定變量的值。

COL?SQL_ID?FOR?A14;
COL?SQL_TEXT?FOR?A32;
COL?HASH_VALUE?FOR?99999999999;
COL?BIND_DATA?FOR?A32;
SELECT?SQL_ID??????????
??????,SQL_TEXT
??????,LITERAL_HASH_VALUE
??????,HASH_VALUE
??????,DBMS_SQLTUNE.EXTRACT_BINDS(BIND_DATA)?BIND_DATA
FROM?V$SQL
WHERE?SQL_TEXT?LIKE?'SELECT?*?FROM?TEST%';

COL?SQL_ID?FOR?A14;
COL?SQL_TEXT?FOR?A32;
COL?HASH_VALUE?FOR?99999999999;
COL?BIND_DATA?FOR?A32;
SELECT?SQL_ID??????????
??????,SQL_TEXT
??????,LITERAL_HASH_VALUE
??????,HASH_VALUE
??????,DBMS_SQLTUNE.EXTRACT_BIND(BIND_DATA,1).VALUE_STRING?BIND_DATA
FROM?V$SQL
WHERE?SQL_TEXT?LIKE?'SELECT?*?FROM?TEST%';

如下實驗所示,我們在一個會話中使用綁定變量的查詢SQL語句,然后,我們來嘗試獲取綁定變量的值,如下所示:

SQL>?SHOW?USER;
USER?is?"TEST"
SQL>?DESC?TEST;
?Name??????????????????????????????????????Null?????Type
?-----------------------------------------?--------?----------------------------
?ID?????????????????????????????????????????????????NUMBER(10)
?NAME???????????????????????????????????????????????VARCHAR2(32)

SQL>?
SQL>?VARIABLE?NAME?NVARCHAR2(32);
SQL>?EXEC?:NAME?:='KKKK';

PL/SQL?procedure?successfully?completed.

SQL>?SELECT?*?FROM?TEST?WHERE?NAME=:NAME;

no?rows?selected

SQL>?
SQL>SHOW?USER;
USER?is?"SYS"
SQL>?COL?SQL_ID?FOR?A14;
SQL>?COL?SQL_TEXT?FOR?A32;
SQL>?COL?HASH_VALUE?FOR?99999999999;
SQL>?COL?BIND_DATA?FOR?A32;
SQL>?SELECT?SQL_ID??????????
??2????????,SQL_TEXT
??3????????,LITERAL_HASH_VALUE
??4????????,HASH_VALUE
??5????????,DBMS_SQLTUNE.EXTRACT_BINDS(BIND_DATA)?BIND_DATA
??6??FROM?V$SQL
??7??WHERE?SQL_TEXT?LIKE?'SELECT?*?FROM?TEST%';

SQL_ID?????????SQL_TEXT?????????????????????????LITERAL_HASH_VALUE???HASH_VALUE?BIND_DATA(NAME,?POSITION,?DUP_PO
--------------?--------------------------------?------------------?------------?--------------------------------
0r7m5jyz9ng09??SELECT?*?FROM?TEST?WHERE?NAME=:N??????????????????0???3197778953?SQL_BIND_SET(SQL_BIND(NULL,?1,?N
???????????????AME??????????????????????????????????????????????????????????????ULL,?1,?'NVARCHAR2(128)',?2000,
????????????????????????????????????????????????????????????????????????????????NULL,?NULL,?128,?'04-SEP-17',?'K
????????????????????????????????????????????????????????????????????????????????KKK',?ANYDATA()))


SQL>?COL?SQL_ID?FOR?A14;
SQL>?COL?SQL_TEXT?FOR?A32;
SQL>?COL?HASH_VALUE?FOR?99999999999;
SQL>?COL?BIND_DATA?FOR?A32;
SQL>?SELECT?SQL_ID??????????
??2????????,SQL_TEXT
??3????????,LITERAL_HASH_VALUE
??4????????,HASH_VALUE
??5????????,DBMS_SQLTUNE.EXTRACT_BIND(BIND_DATA,1).VALUE_STRING?BIND_DATA
??6??FROM?V$SQL
??7??WHERE?SQL_TEXT?LIKE?'SELECT?*?FROM?TEST%';

SQL_ID?????????SQL_TEXT?????????????????????????LITERAL_HASH_VALUE???HASH_VALUE?BIND_DATA
--------------?--------------------------------?------------------?------------?--------------------------------
0r7m5jyz9ng09??SELECT?*?FROM?TEST?WHERE?NAME=:N??????????????????0???3197778953?KKKK

aea444bb16420e7906e89f08428fa942.png

如果此時你給變量NAME賦值為kerry,然后你使用上面SQL語句查詢,你會發現綁定變量的值依然為"KKKK",這個是因為綁定變量何時被捕獲是有一定規律的:

  1. 含有綁定變量的sql語句被硬解析時

  2. 當含有綁定變量的sql語句以軟解析或者軟軟解析方式重復執行時,該SQL語句中的綁定變量的具體輸入值也可能被ORACLE捕獲,只不過默認情況下這種捕獲操作 受隱含參數_cursor_bind_capture_interval影響,默認需要間隔15(900秒)分鐘才會做一次

SQL>?exec?:NAME?:='kerry';

PL/SQL?procedure?successfully?completed.

SQL>?/

????????ID?NAME
----------?--------------------------------
??????1000?kerry

SQL>?

方法2:查詢wrh$_sqlstat

V$SQL中有BIND_DATA字段,當SQL被解析時,就會放到BIND_DATA字段中,最終會被存入wrh$_sqlstat。關于wrh$_sqlstat的介紹如下所示:

wrh$_sqlstat?contains a history for SQL execution statistics and stores snapshots of v$sql view.

wrh$_sqlstat中存儲是v$sql的執行統計信息的快照的歷史記錄,那么從這里可以查詢到一些歷史綁定變量的值,但是也有可能v$sql的快照信息沒有被捕獲到(如滿足什么條件才會被捕獲呢?)。如下截圖所示


SQL>?select?dbms_sqltune.extract_bind(bind_data,?1).value_string
??2??from?wrh$_sqlstat
??3??where?sql_id='0r7m5jyz9ng09';

no?rows?selected

cc8eabd2fca121806edebcc3992bc9b8.png

如上測試所示,這個獲取綁定變量值的方法有一定的缺陷性,有可能V$SQL快照信息沒有被捕獲到,導致wrh$_sqlstat 里面查不到對應的信息。

注意,如果有1個的綁定值,可以使用如下查詢

select?dbms_sqltune.extract_bind(bind_data,?1).value_string???
from?wrh$_sqlstat?
where?sql_id?=?'1t2r2p48w4p0g'

如果有2個綁定值,可以使用如下查詢

select?dbms_sqltune.extract_bind(bind_data,?1).value_string||
???????'--'||dbms_sqltune.extract_bind(bind_data,?2).value_string
from?wrh$_sqlstat
where?sql_id?=?'1t2r2p48w4p0g'

如果有多個綁定變量,使用類似下面SQL

select?dbms_sqltune.extract_bind(bind_data,?1).value_string
??||'-'||?dbms_sqltune.extract_bind(bind_data,?2).value_string?
??||'-'||?dbms_sqltune.extract_bind(bind_data,?3).value_string?
??||'-'||?dbms_sqltune.extract_bind(bind_data,?4).value_string?
??||'-'||?dbms_sqltune.extract_bind(bind_data,?5).value_string?
??||'-'||?dbms_sqltune.extract_bind(bind_data,?6).value_string
from?wrh$_sqlstat
where?sql_id?=?'1t2r2p48w4p0g'
/

方法3:v$sql_bind_capture


使用V$SQL_BIND_CAPTURE獲取綁定變量的值,也有一些限制:
  1. 如果STATISTICS_LEVEL設置成BASIC,那綁定變量的捕捉就會關閉(Bind capture is disabled when the?STATISTICS_LEVEL?initialization parameter is set to?BASIC.)

  2. 默認是900秒捕捉一次綁定變量值,由_cursor_bind_capture_interval參數控制。

  3. V$SQL_BIND_CAPTURE視圖中記錄的綁定變量只對WHERE條件后面的綁定進行捕獲,這點需要使用的時候注意。對于DML操作,V$SQL_BIND_CAPTURE無法獲取綁定變量的值。

SQL>?COL?NAME?FOR?A12;
SQL>?COL?DATATYPE_STRING?FOR?A24;
SQL>?COL?VALUE_STRING?FOR?A32;
SQL>?SELECT?NAME,?
??2?????????DATATYPE_STRING,?
??3?????????VALUE_STRING,?
??4?????????MAX_LENGTH,?
??5?????????LAST_CAPTURED?
??6??FROM???V$SQL_BIND_CAPTURE?
??7??WHERE??SQL_ID?=?'1t2r2p48W4P0g';?

NAME?????????DATATYPE_STRING??????????VALUE_STRING?????????????????????MAX_LENGTH?LAST_CAPT
------------?------------------------?--------------------------------?----------?---------
:NAME????????NVARCHAR2(128)???????????KD????????????????????????????????????128?04-SEP-17

SQL>?

v$sql_bind_capture視圖,可以查看綁定變量,但是這個視圖不太給力,只能捕獲最后一次記錄的綁定變量值。而且兩次捕獲的間隔也是受隱含參數_cursor_bind_capture_interval控制。默認是900秒后才會重新開始捕獲。在900內,綁定變量值的改變不會反應在這個視圖中。這個跟v$sql獲取變量值是一樣的。

SQL>?EXEC?:NAME?:='kerry';

PL/SQL?procedure?successfully?completed.

SQL>/

????????ID?NAME
----------?--------------------------------
??????1000?kerry

SQL>?

如上所示,我給變量賦予新的值,然后重新執行一次,你執行上面SQL,發現綁定變量的值為kerry了,之前的值KD就無法找到了。所以這個也是這個視圖的一個局限性。(注意,實驗結果結果也有可能是KD,這個取決于實驗的時間間隔與隱含參數_cursor_bind_capture_interval的值有關系)

2afa33efb308a1e87cf0e9776a0617ad.png

This view can be joined with?V$SQLAREA?on (HASH_VALUE,?ADDRESS) and with?V$SQL?on (HASH_VALUE,?CHILD_ADDRESS).

--
SET?PAUSE?ON
SET?PAUSE?'Press?Return?to?Continue'
SET?PAGESIZE?60
SET?LINESIZE?300

COLUMN?sql_text?FORMAT?A120
COLUMN?sql_id?FORMAT?A13
COLUMN?bind_name?FORMAT?A10
COLUMN?bind_value?FORMAT?A26

SELECT
??sql_id,
??t.sql_text?sql_text,??
??b.name?bind_name,
??b.value_string?bind_value
FROM
??v$sql?t
JOIN
??v$sql_bind_capture?b??using?(sql_id)
WHERE
??b.value_string?is?not?null
AND
??sql_id='&sqlid'
/


SELECT
??b.sql_id,
??t.sql_text?sql_text,??
??b.name?bind_name,
??b.value_string?bind_value
FROM
??v$sql?t
JOIN
??v$sql_bind_capture?b??on?t.hash_value?=?b.hash_value?and?t.child_address?=?b.child_address
WHERE
??b.value_string?is?not?null
AND
??b.sql_id='&sqlid'
/

方法4:查詢視圖DBA_HIST_SQLBIND.

DBA_HIST_SQLBIND是視圖V$SQL_BIND_CAPTURE歷史快照. 所以從視圖DBA_HIST_SQLBIND能查到多個綁定變量的值。但是這里依然會遇到一個問題,就是有可能歷史快照沒有被捕獲到DBA_HIST_SQLBIND下。如下測試所示:

SELECT?SNAP_ID,?
???????NAME,?
???????POSITION,?
???????VALUE_STRING,?
???????LAST_CAPTURED,?
???????WAS_CAPTURED?
FROM???DBA_HIST_SQLBIND?
WHERE??SQL_ID?=?'&SQL_ID'?
???????AND?SNAP_ID?=?&SNAP_ID;?




SELECT?SNAP_ID,?
???????NAME,?
???????POSITION,?
???????VALUE_STRING,?
???????LAST_CAPTURED,?
???????WAS_CAPTURED?
FROM???DBA_HIST_SQLBIND?
WHERE??SQL_ID?=?'&SQL_ID';?



SQL>?SELECT?SNAP_ID,?
??2?????????NAME,?
??3?????????POSITION,?
??4?????????VALUE_STRING,?
??5?????????LAST_CAPTURED,?
??6?????????WAS_CAPTURED?
??7??FROM???DBA_HIST_SQLBIND?
??8??WHERE??SQL_ID?=?'&SQL_ID';
Enter?value?for?sql_id:?1t2r2p48w4p0g
old???8:?WHERE??SQL_ID?=?'&SQL_ID'
new???8:?WHERE??SQL_ID?=?'1t2r2p48w4p0g'

no?rows?selected

SQL>?exec?dbms_workload_repository.create_snapshot();

PL/SQL?procedure?successfully?completed.

SQL>?SELECT?SNAP_ID,?
??2?????????NAME,?
??3?????????POSITION,?
??4?????????VALUE_STRING,?
??5?????????LAST_CAPTURED,?
??6?????????WAS_CAPTURED?
FROM???DBA_HIST_SQLBIND?
??7????8??WHERE??SQL_ID?=?'&SQL_ID';
Enter?value?for?sql_id:?1t2r2p48w4p0g
old???8:?WHERE??SQL_ID?=?'&SQL_ID'
new???8:?WHERE??SQL_ID?=?'1t2r2p48w4p0g'

no?rows?selected

SQL>?
6c063cf4cb338a893cb4bf1eba762ee5.png

方法5:dbms_xplan.display_cursor

  • sql_id:? ? ? ? ? ? 指定位于庫緩存執行計劃中SQL語句的父游標。默認值為null。當使用默認值時當前會話的最后一條SQL語句的執行計劃將被返回.可以通過查詢V$SQL 或V$SQLAREA的SQL_ID列來獲得SQL語句的SQL_ID。

  • child_number: ? ? ? ? ?指定父游標下子游標的序號。即指定被返回執行計劃的SQL語句的子游標。默認值為0。如果為null,則sql_id所指父游標下所有子游標的執行計劃都將被返回。

  • format:? ? ? ? ? ? ? 控制SQL語句執行計劃的輸出部分,即哪些可以顯示哪些不顯示。

select?*?from?table(dbms_xplan.display_cursor('1t2r2p48w4p0g',?0,?'ADVANCED'));


-------------------------------------
SELECT?*?FROM?TEST?WHERE?NAME=:NAME
?
Plan?hash?value:?1357081020
?
--------------------------------------------------------------------------
|?Id??|?Operation?????????|?Name?|?Rows??|?Bytes?|?Cost?(%CPU)|?Time?????|
--------------------------------------------------------------------------
|???0?|?SELECT?STATEMENT??|??????|???????|???????|?????3?(100)|??????????|
|*??1?|?TABLE?ACCESS?FULL?|?TEST?|?????1?|????31?|?????3???(0)|?00:00:01?|
--------------------------------------------------------------------------
?
Query?Block?Name?/?Object?Alias?(identified?by?operation?id):
-------------------------------------------------------------
?
???1?-?SEL$1?/?TEST@SEL$1
?
Outline?Data
-------------
?
??/*+
??????BEGIN_OUTLINE_DATA
??????IGNORE_OPTIM_EMBEDDED_HINTS
??????OPTIMIZER_FEATURES_ENABLE('11.2.0.1')
??????DB_VERSION('11.2.0.1')
??????ALL_ROWS
??????OUTLINE_LEAF(@"SEL$1")
??????FULL(@"SEL$1"?"TEST"@"SEL$1")
??????END_OUTLINE_DATA
??*/
?
Peeked?Binds?(identified?by?position):
--------------------------------------
?
???1?-?:NAME?(VARCHAR2(30),?CSID=873):?'KKK'
?
Predicate?Information?(identified?by?operation?id):
---------------------------------------------------
?
???1?-?filter("NAME"=:NAME)
?
Column?Projection?Information?(identified?by?operation?id):
-----------------------------------------------------------
?
???1?-?"TEST"."ID"[NUMBER,22],?"NAME"[VARCHAR2,32]

方法6:10046事件捕獲綁定變量

alter?session?set?events?'10046?trace?name?context?forever,?level?4';?--level=4 表示啟用SQL_TRACE并捕捉跟蹤文件中的綁定變量。

實驗在此略過,其實ORACLE中"seq$"表更新頻繁的分析案例中已經展示如何使用10046事件捕獲綁定變量的值。另外 v$sql,v$sql_bind_capture、dba_hist_sqlbind只能捕獲查詢SQL(確切的說,只對WHERE條件后面的綁定變量進行捕獲)的綁定變量,但10046也能捕獲DML的SQL的值

最后如果需要可以通過alter system set "_cursor_bind_capture_interval"=10; 修改綁定變量捕獲的時間間隔。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/534961.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/534961.shtml
英文地址,請注明出處:http://en.pswp.cn/news/534961.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

transition css_Transition 過渡

1:基本概念在一定時間內平滑的過渡,也就是圓滑的以動畫效果改變css的屬性值。它的過渡可以由鼠標點擊、焦點獲取或者失去、被點擊事件或對元素的改變中觸發;不能主動觸發,只能被動觸發。常用的基本屬性有:Transition-d…

jdbc mysql分頁_JDBC【數據庫連接池、DbUtils框架、分頁】

1.數據庫連接池什么是數據庫連接池簡單來說:數據庫連接池就是提供連接的。。。為什么我們要使用數據庫連接池數據庫的連接的建立和關閉是非常消耗資源的頻繁地打開、關閉連接造成系統性能低下編寫連接池編寫連接池需實現java.sql.DataSource接口創建批量的Connectio…

python讀寫文件操作_詳解Python文件讀寫操作

讀文件 打開文件(文件需要存在)#打開文件 f open("data.txt","r") #設置文件對象 print(f)#文件句柄 f.close() #關閉文件 #為了方便,避免忘記close掉這個文件對象,可以用下面這種方式替代 with open(data.t…

keyloadtool_phoenix 利用CsvBulkLoadTool 批量帶入數據并自動創建索引

需要先創建表:CREATE TABLE IF NOT EXISTS population (state CHAR(2) NOT NULL, city VARCHAR NOT NULL, population BIGINTCONSTRAINT my_pk PRIMARY KEY (state, city));在phoenix 目錄下執行hadoop jar /home/phoenix-4.6.0-HBase-1.0-bin/phoenix-4.6.0-HBase-…

【cloud Alibaba】(三)流量控制、熔斷降級(下)——Sentinel

各位小伙伴們大家好,歡迎來到這個小扎扎的spring cloud專欄,在這個系列專欄中我對B站尚硅谷陽哥的spring cloud教程進行一個總結,鑒于 看到就是學到、學到就是賺到 精神,這波依然是血賺 ┗|`O′|┛ 💡Sen…

python gui入門的例子_Python GUI編程之Tkinter入門之道

相信剛學習使用Python進行GUI編程的時候,肯定都會聽過Tkinter,畢竟是standard Python interface to the Tk GUI toolkit.用來寫一些小程序還是很方便的。但如果是剛接觸GUI編程的話肯定是被官方文檔搞的有些懵,畢竟還沒弄清楚套路。之前使用過…

@async 默認線程池_SpringBoot 線程池的使用

Java大聯盟幫助萬千Java學習者持續成長關注作者|Musclehengblog.csdn.net/Muscleheng/article/details/81409672前言最近在做訂單模塊,用戶購買服務類產品之后,需要進行預約,預約成功之后分別給商家和用戶發送提醒短信。考慮發短信…

mysql 橫向擴展 中間件_mysql-proxy數據庫中間件架構 | 架構師之路

一、mysql-proxy簡介mysql-proxy是mysql官方提供的mysql中間件服務,上游可接入若干個mysql-client,后端可連接若干個mysql-server。它使用mysql協議,任何使用mysql-client的上游無需修改任何代碼,即可遷移至mysql-proxy上。mysql-…

python selenium對象怎么序列化_python selenium爬取斗魚

不加延遲報錯selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {“method”:”xpath”,”selector”:”.//span[class”DyListCover-hot”]”}(Session info: chrome80.0.3987.122)最開始以為是版本問題,不…

神經網絡的全連接層_深度神經網絡全連接層

一、概念全連接層一般在網絡的最后部分做分類輸出,全連接層的有m個輸入和n個輸出,每一個輸出都和所有的輸入相連,相連的權重w都是不一樣的,同時每一個輸出還有一個bias。二、前向全連接假設輸入是4,輸出是4&#xff0c…

vs 選定內容沒有屬性頁_從智能單品,到全屋智能:2019中國智能家居發展白皮書【附82頁PPT】...

2019年,智能家居行業在技術、市場和行業的變革中迎接新的挑戰和機遇。一方面,AI、IoT、邊緣計算全面賦能智能家居;另一方面,中國的房地產行業正在從上半場的“增量開發”,切換到下半場的“存量經營”、“樓盤精裝化”政…

python決策樹的應用_機器學習-決策樹實戰應用

1.下載2.安裝:雙擊3.創建桌面快捷方式安裝目錄\bin文件夾\:找到gvedit.exe文件右鍵 發送到桌面快捷方式,如下圖:4.配置環境變量將graphviz安裝目錄下的bin文件夾添加到Path環境變量中:5.驗證是否安裝并配置成功進入win…

【SSM面向CRUD編程專欄 3】關于黑馬程序員最全SSM框架教程視頻,P37集老師跳過的模塊創建以及tomcat下載安裝配置和運行等諸多問題

寫在前面:? 本人是在學習B站黑馬程序員SSM框架教程視頻的時候在P37集遇到了問題,如果不解決還沒辦法往下接著聽,老師跳過的模塊創建以及tomcat下載安裝配置和運行等諸多問題,全在這篇博客中得到了解決 😢解決上…

python人臉識別源碼_Python 抖音機器人,讓你找到漂亮小姐姐

本項目作者沉迷于抖音無法自拔,常常花好幾個小時在抖音漂亮小姐姐身上。本著高效、直接地找到漂亮小姐姐的核心思想,我用 Python ADB 做了一個 Python 抖音機器人 Douyin-Bot。特性自動翻頁顏值檢測人臉識別自動點贊自動關注隨機防 Ban自動評論原理打開…

thinkphp josn mysql_ThinkPHP:JSON字段類型的使用(ORM)

ThinkPHP5.1版本正式發布已經有一段時間了,我會陸續給大家介紹其中的新特性。今天要給大家介紹的是一個可能很多用戶還不了解的一個特性:JSON字段數據支持。不過首先注意一點,本篇內容中描述的JSON字段數據的支持是從V5.1.4版本引入的。由于包…

獲取http地址如何從上面抓取圖片_用 Python 自動抓取妹子圖

目錄前言Media Pipeline啟用Media Pipeline使用 ImgPipeline抓取妹子圖瞎比比與送書后話前言我們在抓取數據的過程中,除了要抓取文本數據之外,當然也會有抓取圖片的需求。那我們的 scrapy 能爬取圖片嗎?答案是,當然的。說來慚愧&a…

MySQL摘要_mysql摘要

2011-04-15(1)mysqld關閉命令:mysqladmin -u root shutdown。注意:windows命令以enter結束不是;,mysql命令行才是(2)mysql終端接入,修改mysql.user表內容,添加授權用戶。insert into mysql.user(Host,User,Password,ss…

錯誤代碼0x800f0950怎么解決_解決win10安裝net framework 3.5失敗(錯誤代碼 0x800F0950)...

視頻教程:Win10教程 安裝net framework 3.5失敗(錯誤代碼 0x800F0950)_嗶哩嗶哩 (゜-゜)つロ 干杯~-bilibili?www.bilibili.com一:出現問題:報錯代碼二:解決步驟1.通過命令提示符明確自己系統版本Windows鍵X ,打開(命…

java mysql dump_Java 調用Mysql dump 備份數據庫

SimpleDateFormat sdf new SimpleDateFormat("yyyyMMddHHmmss");try {String name sdf.format(new Date());String filePath System.getProperty("user.dir") "//" name ".sql";// 系統執行器Runtime rt Runtime.getRuntime();…