亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

用Python_OracleDB 的調(diào)用Oracle存儲過程返回Cursor的方法:TaoToken 統(tǒng)一 Key 通道下的可復(fù)制配置與驗證

用Python_OracleDB 的調(diào)用Oracle存儲過程返回Cursor的方法:TaoToken 統(tǒng)一 Key 通道下的可復(fù)制配置與驗證 1. Python 調(diào)用 Oracle 存儲過程返回 Cursor 的真實場景與坑點如果你正在用 Python 連 Oracle并且存儲過程里返回的是SYS_REFCURSOR那你大概率會遇到一個很典型的問題普通cursor.execute()執(zhí)行完拿不到結(jié)果集或者拿到的對象不是可迭代的行而是一個綁定變量句柄。這個場景在報表查詢、批量數(shù)據(jù)導(dǎo)出、老系統(tǒng)對接里非常常見尤其是 Oracle 存儲過程把查詢結(jié)果通過OUT參數(shù)以游標(biāo)形式吐出來的時候。我先把結(jié)論說清楚Python 的oracledb驅(qū)動也就是原來cx_Oracle的新名字調(diào)用返回 Cursor 的存儲過程核心動作只有三步——用cursor.var()聲明一個游標(biāo)類型的綁定變量、把它作為OUT參數(shù)傳進(jìn)begin ... end;匿名塊、執(zhí)行完之后直接對這個游標(biāo)變量做for row in cursor_var迭代。聽起來簡單但真正卡人的地方在于連接池怎么配、綁定變量類型怎么聲明、字段映射怎么對齊、異常怎么捕獲。這幾個點任何一個沒處理好你看到的報錯就是ORA-01036、DPI-1010、ORA-06550這類讓人頭大的信息。這篇內(nèi)容聚焦的就是這條完整鏈路從連接串配置到存儲過程調(diào)用再到游標(biāo)讀取和異常處理。我會給出可以直接復(fù)制的配置片段也會用一個最小的存儲過程來驗證 Cursor 返回是否正常。如果你本地已經(jīng)裝好了 Oracle 客戶端和 Python 環(huán)境跟著走一遍就能復(fù)現(xiàn)。另外說明一下本文里涉及模型調(diào)用通道的部分統(tǒng)一走 TaoToken 的 Key 通道來做演示目的是讓配置片段保持一致的鑒權(quán)方式方便你在同一套環(huán)境里既跑數(shù)據(jù)庫調(diào)用、又跑模型輔助排查。數(shù)據(jù)庫本身還是連你自己的 Oracle 實例TaoToken 只負(fù)責(zé)模型側(cè)的統(tǒng)一入口兩者不混。先明確幾個前置條件避免你走到一半發(fā)現(xiàn)環(huán)境不對Python 3.9 及以上推薦 3.11。安裝oracledbpip install oracledb。注意不要再用cx_Oracle新項目直接用oracledb它是官方維護(hù)的。Oracle 客戶端庫Instant Client要能被找到或者用 thin 模式。oracledb默認(rèn) thin 模式不需要 Instant Client但如果你要用某些高級特性比如特定的字符集、外部認(rèn)證還是得配lib_dir。有一個可用的 Oracle 實例里面有建存儲過程的權(quán)限。我試過在 thin 模式下直接連 Oracle 19c 和 21c基本沒問題。但如果你連的是比較老的 11gthin 模式可能不支持那就得裝 Instant Client 并設(shè)置ORACLE_CLIENT_LIB_DIR或者初始化時傳lib_dir。存儲過程這邊假設(shè)我們有一個測試用的過程簽名大概是這樣CREATE OR REPLACE PROCEDURE test1( param1 IN VARCHAR2, param2 IN VARCHAR2, p_cursor OUT SYS_REFCURSOR ) AS BEGIN OPEN p_cursor FOR SELECT a1 AS col_a, a2 AS col_b FROM dual UNION ALL SELECT b1, b2 FROM dual; END; /這個過程的邏輯很簡單接收兩個入?yún)⒋蜷_一個游標(biāo)返回兩行數(shù)據(jù)。用它來驗證 Cursor 返回是最小可復(fù)現(xiàn)的。你可以在 SQL Developer 或者 sqlplus 里先跑一遍確認(rèn)過程本身沒問題再去 Python 里調(diào)。很多人第一次調(diào)的時候會把OUT SYS_REFCURSOR當(dāng)成普通返回值處理寫成result cursor.callproc(...)結(jié)果發(fā)現(xiàn)拿不到行。這就是沒理解 Oracle 的游標(biāo)是綁定變量機(jī)制。正確做法是用cursor.var(oracledb.CURSOR)聲明一個游標(biāo)變量傳進(jìn)去執(zhí)行后迭代它。還有一個高頻坑連接池的dsn寫法。192.168.3.169:1521/orclpdb1這種是 EZConnect 格式host:port/service_name。如果你用的是 SID 而不是 service name得寫成host:port/SID或者用完整的(DESCRIPTION...)。寫錯了就是ORA-12514或者DPY-6005。下面進(jìn)入具體配置。我會先講 TaoToken 的前置準(zhǔn)備再給可復(fù)制的連接與調(diào)用代碼然后是驗證和排錯。2. TaoToken 統(tǒng)一 Key 通道的前置準(zhǔn)備與模型輔助排查這一節(jié)說清楚 TaoToken 在這套流程里扮演什么角色。你調(diào) Oracle 存儲過程本身不需要 TaoToken數(shù)據(jù)庫連接是直連你的 Oracle 實例。但實際開發(fā)中你經(jīng)常需要讓模型幫你解釋報錯、生成 SQL、檢查綁定變量寫法這時候如果每個工具都單獨配 Key會很亂。TaoToken 提供的是一個統(tǒng)一的 Key 通道把模型調(diào)用收斂到一個入口Base URL 和 Key 配一次多個工具復(fù)用。官網(wǎng)入口在這里https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。你可以先注冊拿到 Key后面配置里會用到。拿到 Key 之后模型側(cè)的 Base URL 統(tǒng)一用https://taotoken.net/api注意這個地址不帶 UTM 參數(shù)是給程序調(diào)用的。Key 的格式一般是一串以sk-開頭的字符串具體以你控制臺里顯示的為準(zhǔn)。如果你只是想讓模型幫你排查 Oracle 報錯最直接的方式是打開模型對話頁面把報錯原文貼進(jìn)去。模型對話入口https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite 。這個頁面適合快速問一句“這個 ORA-01036 是什么原因”不用寫代碼。如果你是要長期做編碼、寫 Agent、跑自動化腳本那更適合用 Coding Plan。Coding Plan 入口https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 。它的定位是給編碼場景用的套餐配合 Claude Code、Cline 這類工具比較順。Key 的管理在控制臺https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 。你可以在這里創(chuàng)建、查看、吊銷 Key。API Keys 頁面https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite 新建 Key 就在這里。接入文檔https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里面有各語言的調(diào)用示例配環(huán)境變量、改 Base URL 的寫法都能查到。如果你用的是 Claude Code它有自己的接入方式參考https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaude_codeutm_campaignrewrite 。這個頁面講的是怎么把 Claude Code 接到統(tǒng)一通道上。這里要強(qiáng)調(diào)一點TaoToken 是模型調(diào)用的統(tǒng)一入口不是數(shù)據(jù)庫代理也不是什么中轉(zhuǎn)。你的 Oracle 連接串、賬號密碼、存儲過程調(diào)用全都走你自己的網(wǎng)絡(luò)和數(shù)據(jù)庫跟 TaoToken 無關(guān)。TaoToken 只處理模型 API 的鑒權(quán)收斂。把這兩件事分清楚后面配置就不會混。前置準(zhǔn)備清單注冊并拿到 TaoToken Key。確認(rèn)模型 Base URL 是https://taotoken.net/api。本地 Python 環(huán)境裝好oracledb。Oracle 實例可連測試存儲過程已創(chuàng)建。如果要讓模型輔助排查準(zhǔn)備好模型對話或 Coding Plan 的入口。環(huán)境變量建議這樣設(shè)避免 Key 硬編碼在代碼里export TAOTOKEN_API_KEYsk-你的key export TAOTOKEN_BASE_URLhttps://taotoken.net/apiWindows 下用set或者系統(tǒng)環(huán)境變量界面設(shè)置。設(shè)完之后Python 里用os.environ.get(TAOTOKEN_API_KEY)讀取。模型側(cè)的最小驗證可以用 curl 快速確認(rèn) Key 通不通curl https://taotoken.net/api/v1/models \ -H Authorization: Bearer $TAOTOKEN_API_KEY返回模型列表就說明 Key 和 Base URL 都對。這一步不通后面模型輔助排查就別指望了。常見問題是 Key 復(fù)制時帶了空格或者 Base URL 寫成了帶 UTM 的地址。記住程序調(diào)用用https://taotoken.net/api不帶參數(shù)。數(shù)據(jù)庫側(cè)的前置確認(rèn)oracledb版本python -c import oracledb; print(oracledb.__version__)輸出類似2.5.0就正常。如果報ModuleNotFoundError回去pip install oracledb。到這里模型通道和數(shù)據(jù)庫環(huán)境都準(zhǔn)備好了。下一節(jié)進(jìn)入可復(fù)制的配置片段包括連接池、綁定變量聲明、存儲過程調(diào)用。3. 可復(fù)制的連接池與存儲過程調(diào)用配置片段這一節(jié)是全文的核心給出可以直接復(fù)制運行的代碼。我會把連接池配置、游標(biāo)變量聲明、存儲過程調(diào)用、結(jié)果讀取拆開講每一段都標(biāo)清楚路徑和參數(shù)含義。先看連接池配置。用oracledb.create_pool()創(chuàng)建池參數(shù)含義如下import oracledb pool oracledb.create_pool( userdamao, passwordwoaiwojia, dsn192.168.3.169:1521/orclpdb1, min1, max4, increment1, )user和password是你的 Oracle 賬號。dsn是 EZConnect 格式host:port/service_name。min是池啟動時的最小連接數(shù)max是最大連接數(shù)increment是每次擴(kuò)容增加的連接數(shù)。這幾個值按你實際并發(fā)調(diào)本地測試min1, max4足夠。如果你要用 SQLAlchemy可以這樣接from sqlalchemy import create_engine from sqlalchemy.pool import NullPool engine create_engine( oracleoracledb://, creatorpool.acquire, poolclassNullPool, )注意creatorpool.acquire是把池的獲取連接方法交給 SQLAlchemypoolclassNullPool是避免 SQLAlchemy 再套一層池。這個組合在需要復(fù)用 oracledb 池的場景下比較常見。接下來是調(diào)用存儲過程的關(guān)鍵部分。假設(shè)存儲過程簽名是test1(param1 IN VARCHAR2, param2 IN VARCHAR2, p_cursor OUT SYS_REFCURSOR)調(diào)用代碼如下connect pool.acquire() cursor connect.cursor() # 聲明游標(biāo)類型的綁定變量 cursor_var cursor.var(oracledb.CURSOR) cursor.execute( begin test1(:param1, :param2, :p_cursor); end; , param1a1, param2a2, p_cursorcursor_var, ) # 迭代游標(biāo)變量拿結(jié)果 for row in cursor_var: print(row , row) cursor.close() connect.close() pool.close()這里有幾個點必須說清楚第一cursor.var(oracledb.CURSOR)聲明的是游標(biāo)類型綁定變量。oracledb.CURSOR是常量對應(yīng) Oracle 的SYS_REFCURSOR。不要寫成oracledb.NUMBER或者oracledb.STRING類型不對會報DPI-1010或者ORA-06550。第二匿名塊里用:p_cursor作為占位符執(zhí)行時通過關(guān)鍵字參數(shù)p_cursorcursor_var傳入。參數(shù)名要和占位符一致順序無所謂因為是按名字綁定的。第三執(zhí)行完之后直接for row in cursor_var迭代。cursor_var本身是可迭代的每次迭代返回一行行是 tuple 或者命名元組取決于你的rowfactory設(shè)置。如果你需要拿到字段名可以這樣columns [d[0] for d in cursor_var.description] print(columns , columns) for row in cursor_var: print(dict(zip(columns, row)))cursor_var.description返回字段描述每個元素第一個是字段名。這樣就能把行映射成字典方便后續(xù)處理。如果你用的是 SQLAlchemy 的engine.connect()調(diào)用方式類似但要注意連接是從 engine 拿的with engine.connect() as conn: raw conn.connection cur raw.cursor() cur_var cur.var(oracledb.CURSOR) cur.execute( begin test1(:p1, :p2, :pc); end;, p1a1, p2a2, pccur_var, ) for row in cur_var: print(row) cur.close()conn.connection拿到的是底層 oracledb 連接這樣才能用cursor.var()。SQLAlchemy 的text()包裝層不支持游標(biāo)綁定變量所以必須下沉到原生連接。關(guān)于參數(shù)類型如果你的存儲過程入?yún)⑹菙?shù)字Python 側(cè)傳 int 或 float 就行oracledb 會自動映射。如果是日期傳datetime.datetime對象。如果是 CLOB/BLOB需要額外聲明類型這里不展開。一個完整的可運行腳本把上面拼起來import oracledb def main(): pool oracledb.create_pool( userdamao, passwordwoaiwojia, dsn192.168.3.169:1521/orclpdb1, min1, max4, increment1, ) connect pool.acquire() try: cursor connect.cursor() cursor_var cursor.var(oracledb.CURSOR) cursor.execute( begin test1(:param1, :param2, :p_cursor); end; , param1a1, param2a2, p_cursorcursor_var, ) columns [d[0] for d in cursor_var.description] print(columns , columns) for row in cursor_var: print(row , row) cursor.close() finally: connect.close() pool.close() if __name__ __main__: main()這個腳本直接跑能打印出字段名和兩行數(shù)據(jù)就說明整條鏈路通了。如果你在配置模型輔助排查比如用 Cline 或 Claude Code需要寫全三件套Base URL、Key、Model ID。以 Cline 的 MCP 配置為例JSON 片段如下{ mcpServers: { taotoken: { command: npx, args: [-y, taotoken/mcp-server], env: { TAOTOKEN_BASE_URL: https://taotoken.net/api, TAOTOKEN_API_KEY: sk-你的key, TAOTOKEN_MODEL: claude-3-5-sonnet } } } }這里TAOTOKEN_BASE_URL、TAOTOKEN_API_KEY、TAOTOKEN_MODEL就是三件套缺一不可。Model ID 按你實際可用的填控制臺里能查到。如果你用 Codex它的auth.json配置類似{ base_url: https://taotoken.net/api, api_key: sk-你的key, model: claude-3-5-sonnet }路徑一般在~/.codex/auth.json或者項目根目錄的.codex/auth.json按你的 Codex 版本為準(zhǔn)。這些配置的作用是讓模型工具能通過統(tǒng)一通道調(diào)用跟 Oracle 調(diào)用是兩條獨立的線。你排查 Oracle 報錯時可以把報錯貼給模型讓它解釋。配置片段到這里。下一節(jié)講怎么驗證請求成功、怎么確認(rèn) Cursor 返回正確。4. 驗證請求與成功結(jié)果從執(zhí)行到字段映射配置寫完之后必須驗證。驗證分兩層模型通道通不通數(shù)據(jù)庫調(diào)用通不通。先快速過模型通道再重點講數(shù)據(jù)庫。模型通道驗證前面 curl 已經(jīng)給過。再補(bǔ)一個 Python 版本import os import requests resp requests.get( https://taotoken.net/api/v1/models, headers{Authorization: fBearer {os.environ[TAOTOKEN_API_KEY]}}, timeout10, ) print(resp.status_code) print(resp.json())返回 200 和模型列表說明 Key 和 Base URL 都對。如果 401檢查 Key如果連接超時檢查網(wǎng)絡(luò)。數(shù)據(jù)庫調(diào)用驗證跑上一節(jié)的完整腳本。預(yù)期輸出columns [COL_A, COL_B] row (a1, a2) row (b1, b2)字段名是大寫因為 Oracle 默認(rèn)把未加引號的標(biāo)識符轉(zhuǎn)大寫。行是 tuple順序和description一致。如果你看到這個輸出說明 Cursor 返回、字段映射、游標(biāo)迭代都正常。如果存儲過程返回的字段有別名比如SELECT col_a AS myCol那description里就是myCol大小寫按你寫的來。這點在做字段映射時要注意別硬編碼大寫。驗證字段映射可以加一段類型檢查for d in cursor_var.description: print(name , d[0], type , d[1], size , d[3])d[1]是類型碼d[3]是顯示大小。這樣你能確認(rèn)每個字段的類型是否符合預(yù)期。比如VARCHAR2對應(yīng)oracledb.DB_TYPE_VARCHARNUMBER對應(yīng)oracledb.DB_TYPE_NUMBER。驗證多行返回把存儲過程改成返回 100 行看迭代是否完整CREATE OR REPLACE PROCEDURE test_many( p_cursor OUT SYS_REFCURSOR ) AS BEGIN OPEN p_cursor FOR SELECT LEVEL AS n, row_ || LEVEL AS label FROM dual CONNECT BY LEVEL 100; END; /Python 側(cè)cursor_var cursor.var(oracledb.CURSOR) cursor.execute(begin test_many(:pc); end;, pccursor_var) count 0 for row in cursor_var: count 1 print(total rows , count)輸出total rows 100就說明大結(jié)果集也能正常迭代。注意游標(biāo)是流式讀取的不會一次性把 100 行全加載到內(nèi)存這對大結(jié)果集友好。驗證異常處理故意傳錯參數(shù)類型try: cursor.execute( begin test1(:p1, :p2, :pc); end;, p1123, # 故意傳數(shù)字存儲過程期望 VARCHAR2 p2a2, pccursor_var, ) except oracledb.DatabaseError as e: error, e.args print(code , error.code) print(message , error.message)預(yù)期捕獲到ORA-06502或者類型轉(zhuǎn)換相關(guān)錯誤。這樣你能確認(rèn)異常捕獲路徑是通的。驗證連接池復(fù)用連續(xù)調(diào)用多次看連接是否正常歸還for i in range(5): conn pool.acquire() cur conn.cursor() cv cur.var(oracledb.CURSOR) cur.execute(begin test1(:p1, :p2, :pc); end;, p1a, p2b, pccv) rows list(cv) print(fround {i}, rows {len(rows)}) cur.close() conn.close()輸出 5 輪每輪 2 行說明池的獲取和歸還正常。如果池耗盡會卡在pool.acquire()這時候檢查max是不是太小或者有沒有連接沒關(guān)。驗證成功之后把結(jié)果和預(yù)期對照。我一般會寫一個簡單的斷言assert columns [COL_A, COL_B] assert len(rows) 2 assert rows[0] (a1, a2)斷言通過整條鏈路就算驗證完畢。這里再提一下模型輔助驗證的用法。如果你在驗證過程中遇到報錯可以把報錯和你的代碼片段一起貼到模型對話里讓它幫你定位。比如貼DPI-1010: invalid binding type模型會告訴你綁定變量類型聲明錯了。這種用法比你自己翻文檔快。驗證階段常見的結(jié)果異常輸出columns []說明游標(biāo)沒打開存儲過程可能沒執(zhí)行到OPEN檢查過程邏輯。輸出行數(shù)不對檢查存儲過程的WHERE條件或者綁定變量是否傳對。字段名亂碼檢查數(shù)據(jù)庫字符集和客戶端字符集是否一致。迭代時報DPI-1067游標(biāo)已經(jīng)被關(guān)閉或者被消費過檢查是否重復(fù)迭代。下一節(jié)專門講這些報錯的排查。5. 本篇常見報錯排查401、DPI-1010、ORA-01036 與游標(biāo)讀取異常這一節(jié)按真實報錯來對照給出原因和修復(fù)動作。我把最常見的幾類列出來你遇到哪個查哪個。401 Unauthorized模型通道報錯原文{error: {message: Invalid API key, type: invalid_request_error}}原因TaoToken Key 不對或者請求頭沒帶對。檢查Authorization: Bearer sk-xxx格式Key 前后有沒有空格。Base URL 必須是https://taotoken.net/api不要帶 UTM 參數(shù)。如果 Key 剛創(chuàng)建等幾秒再試。修復(fù)echo $TAOTOKEN_API_KEY curl https://taotoken.net/api/v1/models -H Authorization: Bearer $TAOTOKEN_API_KEYlocal proxy failed模型通道報錯原文local proxy failed: dial tcp 127.0.0.1:7890: connect: connection refused原因本地配了代理但代理沒啟動或者代理端口不對。這個報錯跟 TaoToken 無關(guān)是你本地網(wǎng)絡(luò)配置的問題。檢查環(huán)境變量HTTP_PROXY、HTTPS_PROXY或者工具自己的代理設(shè)置。修復(fù)關(guān)掉代理或者把代理指向正確的端口。如果你不需要代理直接 unsetunset HTTP_PROXY unset HTTPS_PROXYDPI-1010: invalid binding type報錯原文oracledb.exceptions.DatabaseError: DPI-1010: invalid binding type原因綁定變量類型聲明錯了。最常見的是把游標(biāo)變量聲明成了oracledb.NUMBER或oracledb.STRING。存儲過程的OUT SYS_REFCURSOR必須用cursor.var(oracledb.CURSOR)。修復(fù)# 錯誤 cursor_var cursor.var(oracledb.NUMBER) # 正確 cursor_var cursor.var(oracledb.CURSOR)ORA-01036: illegal variable name/number報錯原文oracledb.exceptions.DatabaseError: ORA-01036: illegal variable name/number原因占位符和傳入?yún)?shù)不匹配。比如匿名塊里寫了:p_cursor但執(zhí)行時傳的是cursorcursor_var名字對不上?;蛘哒嘉环麛?shù)量不對。修復(fù)占位符名字和執(zhí)行參數(shù)名嚴(yán)格一致。# 錯誤 cursor.execute(begin test1(:p1, :p2, :pc); end;, param1a, param2b, cursorcursor_var) # 正確 cursor.execute(begin test1(:p1, :p2, :pc); end;, p1a, p2b, pccursor_var)ORA-06550: PLS-00306: wrong number or types of arguments報錯原文oracledb.exceptions.DatabaseError: ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments in call to TEST1原因調(diào)用存儲過程時參數(shù)個數(shù)或類型不對。檢查存儲過程簽名確認(rèn)入?yún)⒑统鰠?shù)量、類型匹配。比如過程需要 3 個參數(shù)你只傳了 2 個。修復(fù)對照DESC test1的輸出逐個核對參數(shù)。DESC test1;ORA-12514: TNS:listener does not currently know of service報錯原文oracledb.exceptions.DatabaseError: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor原因dsn里的 service name 寫錯了。192.168.3.169:1521/orclpdb1里的orclpdb1必須是數(shù)據(jù)庫實際注冊的 service name。修復(fù)在數(shù)據(jù)庫服務(wù)器上查SELECT name FROM v$services;用查到的 service name 替換。reading choices 相關(guān)報錯模型通道報錯原文Error reading choices: unexpected end of JSON input原因模型返回的響應(yīng)不完整通常是網(wǎng)絡(luò)中斷或者超時。也可能是 Base URL 配錯返回了非 JSON 內(nèi)容。修復(fù)檢查 Base URL 是否為https://taotoken.net/api加大超時時間重試。如果持續(xù)出現(xiàn)換個模型試試。OAuth 相關(guān)報錯Claude Code 接入報錯原文OAuth token expired or invalid原因Claude Code 的鑒權(quán)過期。如果你是通過統(tǒng)一通道接入檢查配置里的 Key 是否還有效。修復(fù)重新生成 Key更新配置。Claude Code 的接入配置參考前面給的鏈接確認(rèn) Base URL、Key、Model ID 三件套都填對。游標(biāo)讀取異常DPI-1067報錯原文oracledb.exceptions.InterfaceError: DPI-1067: the cursor has already been closed原因游標(biāo)被重復(fù)迭代或者提前關(guān)閉。比如你先list(cursor_var)消費了一遍又for row in cursor_var再消費一遍第二次就報這個。修復(fù)游標(biāo)只能消費一次。需要多次使用就先轉(zhuǎn)成 listrows list(cursor_var) for row in rows: print(row) for row in rows: print(row) # 這樣沒問題游標(biāo)讀取異常結(jié)果為空但沒報錯現(xiàn)象for row in cursor_var一行都不輸出也不報錯。原因存儲過程里的OPEN沒執(zhí)行到或者WHERE條件過濾掉了所有行。也可能是游標(biāo)變量聲明了但沒傳進(jìn)過程。修復(fù)先在 SQL Developer 里直接跑存儲過程確認(rèn)有數(shù)據(jù)返回。再檢查 Python 側(cè)的綁定變量是否傳對。連接池耗盡現(xiàn)象程序卡在pool.acquire()不返回。原因連接沒歸還池的max太小或者有連接泄漏。修復(fù)確保每次pool.acquire()之后都有connect.close()。用try/finally保證歸還。臨時加大max看是否緩解。connect pool.acquire() try: # 你的操作 pass finally: connect.close()字段名大小寫不一致現(xiàn)象columns里是大寫但你代碼里按小寫取取不到。原因Oracle 默認(rèn)大寫標(biāo)識符。修復(fù)統(tǒng)一用大寫或者建表/查詢時用雙引號指定大小寫。映射時用dict(zip(columns, row))按實際字段名取。row_dict dict(zip(columns, row)) print(row_dict[COL_A])這些報錯覆蓋了大部分場景。遇到?jīng)]列出來的把報錯原文貼到模型對話里讓它幫你分析。模型對話入口前面給過這里再放一次方便你復(fù)制https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite 。排查的時候有個原則先確認(rèn)是模型通道的問題還是數(shù)據(jù)庫的問題。模型通道的報錯通常是 401、超時、JSON 解析失敗數(shù)據(jù)庫的報錯通常是 ORA-、DPI- 開頭。分開定位效率高很多。6. 統(tǒng)一 Key 通道下的接入與驗證入口走到這里整條鏈路應(yīng)該已經(jīng)跑通了?;仡櫼幌玛P(guān)鍵動作連接池配置用oracledb.create_pool()游標(biāo)變量用cursor.var(oracledb.CURSOR)聲明存儲過程用匿名塊調(diào)用結(jié)果直接迭代游標(biāo)變量。字段映射靠cursor_var.description異常捕獲用oracledb.DatabaseError。如果你還需要把這套流程固化到項目里建議把連接池做成單例避免每次調(diào)用都重建。Key 和連接串走環(huán)境變量不要硬編碼。存儲過程調(diào)用封裝成函數(shù)入?yún)⒑统鰠⒚鞔_。模型側(cè)的統(tǒng)一通道Key 管理在控制臺接入文檔在文檔頁。需要新建 Key 就去 API Keys 頁面。長期編碼場景用 Coding Plan快速問報錯用模型對話。這幾個入口按你的實際需求選不用全用。最后給一個實用技巧把存儲過程的調(diào)用和模型排查串起來。寫一個腳本捕獲到oracledb.DatabaseError時自動把報錯和 SQL 片段發(fā)給模型讓它返回可能的原因。這樣排查效率會高很多。模型調(diào)用走統(tǒng)一通道Base URL 和 Key 配一次就行。如果你在接入過程中卡住優(yōu)先檢查三件套Base URL 是不是https://taotoken.net/apiKey 是不是有效Model ID 是不是可用。這三個對了模型通道就通。數(shù)據(jù)庫側(cè)檢查連接串、綁定變量類型、存儲過程簽名。兩邊分開查問題很快能定位。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
青青草原综合久久大伊人精品| 91丝袜人妻| www.伪伪| 狠狠超| 97精品国产精品免费观看| 韩日精品四区| 久久久久久久一级黄色打同平台| www黄片免费看com| 日韩欧美操逼xxx| 超碰欧美97资源| 欧美精品另类人妖xxxx| 亚洲九区| 乱伦3P视频| 天堂69亚洲精品中文字| 免费视频一二三区| 无码外流操逼视频| 久久久一区二区三区三州| 大香蕉中文网| 99日视频在线免费| 午夜噜噜噜| nuu12国产麻豆精品| 精品久久9| 国产一| 97se综合网| 免费看毛片操穴| 国产精品成人蜜臀AV在线| 99re免费视频精品全部| 日韩欧美性吧婷婷乱伦大香蕉| 日韩欧美传媒一区国产| 国产搭汕a级片| 日日干夜夜骑| 精品人妻15区| 欧美精品庄| 天堂亚洲精品| 蜜臀久久久99久久久久 | 欧美激情性久久久久久| 青青伊人这里只有精品| 天天综合亚在线| 久久婷婷伊人| 久热无码| 国产视频一区二区在线观看| 日韩精品国模| 丰满熟女人妻一区二区三五十一路| 97色涩| 你草精品在线视频| 亚洲极品| 亚洲丝袜诱惑| 欧美一级久久久久久久大片动画| 欧美亚洲| 丁香六月天| 天天综合色电影| 日日夜夜天天| 91少妇香蕉久久精品| 久久精品人妻一区二区| 综合久久97| A片A5445444| 日韩欧美亚洲一区二区三区影院| 国产11页| 亚洲丰满很很操| 97在线公开视频| 91性网| 人妻三级在线中文字幕| 国产女乱淫真高清免费视频| 超碰99热| 国产熟女二区| 欧美色亚洲色| 日韩综合成人免费视频| 丁香五月天堂网| 色哟哟国产精品免费网址| 久草新免费| 色天天野狼综合社区| 美欧色综合| 操婢日韩| 韩国久久97| 中文字幕在线2| 久操免费观看| 欧美顶级黄色大片免费| 亚洲情色第一页| 国产人妻一区二区三区欧美毛片| 亚洲人妻爽爽爽| 999精品国产高清一区二区| 国产精品久久久久久 百度| 熟女人妻av在线资源,黄色的资源| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 97天天爽| 在线啊啊啊| 以及麻豆国产入口在线观看免费| 极品色www影院| 黄总AV色图| 久久日韩肥臀| 欧美99| 久久AV色| 青青伊人这里只有精品| 黄色大片一区二区密桃丝袜| 狠狠爱大香蕉| 欧美在线播放aaaa| 嫩草 我啊~嗯~在线| 日婷婷| julia高潮后不停追击中出| 裸体美女久久久| 无码一区免费在线不卡| 青娱乐亚洲热| 欧洲精品一级二级精品综合视频综合| 自拍偷拍2025在线观看| 超碰午夜| 免费看A片毛毛片在线播| 熟女欧美日韩综合婷婷| CCYY草草影院地址入口| 欧美日韩超碰在线| 久午视频| 亚洲色人妻综合| 久久久精| 亚洲色欲天天人妻无码系列专区| 色97国产69香蕉| 亚洲?V无码专区在线电影| 情侣开房子拍 日韩无码 女的很漂亮| 成人性爱免费播放| 欧美爆操91| 思思热国产高清| 狼人综合婷婷激情四射| 99婷婷一区二区| 亚洲影视综合网| 色妇综合网| 狠狠色丁香| 97国产亚洲中文在线| 狠狠久久手机视频精品| 99综合自拍| 日日噜噜夜夜狠狠视频无| 美女露胸露奶头| 老司机午夜精品视频| 亚洲图片欧美91N| 啊啊啊爽爽| 天天欧美欧美亚洲网| 91亚洲欧美激情| 超碰人人乐97| 亚洲 日本 国产 综合| 日韩综合97P| 探花一区在线| 色y情视频免费看| 97超级欧美| 国产精品熟女九色九色蜜臀| 插插综合网天天影视网| 色噜噜狠狠色综无码久久合欧美| 国产在线综合福利网站| 亚洲深夜福利| 影音资源男人日韩| 99热精品在线播放| 国产呦精品系列在线观看| 综合影院亚洲| 色综合av男人天堂| 性色综合网| 欧美亚洲国产自久久| 色狠狠 - 百度| 91色人| 久久人妻丝袜一区二区三| 99999国产| 五码视频在线观看| 国模无码人体一区二区三| 天天天肏屄欧美| 少妇啪啪自拍| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 啊啊啊啊啊啊啊国| 黄色AAAAA欧美| 少妇大屁屁| 日韩pv中文| 国产精品无码av| 亚洲资源站| 欧美性色综合网| 国产一级不卡在线观看| 国产精品福利视频| 后入式视频国产自| 亚洲最大的黄色电影网站。| 爱射综合| www.久久制服糖| 97精品网| 国产精品成人午夜福利| 人妻爽爽啪视频| 91久久久久久久| 黑人精品XXX一区一二区| 色噜噜狠狠色综无码久久| 97操97色| 色五月婷婷麻豆在| 久久精视频美日韩在线视频| 国产91av在线播放| 热99这里有精品综合久久 | 国产一区二区三区,在线观看观看| xxx0国产在线播放| 视频一区二区三区精品| 精品午夜福利| 欧美宗合网| 强奸熟女一区二区三区 | 人妻激情在线视频| 精品九九九九九九九九九| 夜夜夜夜夜夜夜夜夜狠狠狠狠狠狠狠| 97网址www| 九九热在线精品视频| 美女国产一区二区久久| 日本 色 导航| 中文字幕一区二区日韩网| 91熟女视频| 日日躁夜夜躁狠狠躁超爽| 国产精品一区二区后入| 蜜臀99999| 天天爽夜夜欢视| 中文字幕视频在线观看一区二区| 欧美亚洲综合色| 亚洲精品亚洲人成人网| 大香蕉免费中文| 性爱av在线免费观看| 2021久久国产综合精品青草| 亚洲蜜乳av| 国产精品久久久久久久AV大片| 久久久久亚洲| 26uuu久久| 91看黄片| 亚洲一级性爱视频免费看| 亚洲AV成人无码一二三久久| 亚洲无码超碰免费| 性暴力欧美猛交在线直播| 麻豆综合一区av| 一级做受视频免费是看美女| 久久成人国产精品| 久久人人爽爽人人爽人人片αV| 久久性生大片免费观看性| 日本人妻丰满熟妇久久久久久| 操一操摸一摸| av绯色| 操逼不卡中文字幕| 中文字幕精品资源在线| 色情婷婷| 欧亚乱色熟一区二区三四区| 亚州欧美总和| 九九九九九九综合| 国产辣妈在线视频福利| 国产精品久久伊人| 国产黄a三级三级三级av在线看| 精品射1999| 啊好爽快点-国产一区二区三区撒尿在线-成人AV| 亚洲青色欧美| 99精品九九九九九九| 亚洲欧美不卡线| 亚洲精品国产无码高清| 91操操| 国产农村妇女精品一二区| 欧美 亚洲 综合 制服 另类| 啊啊啊啊啊好多水| 国产亚州日韩欧美看片| 亚洲欧美性生活| 日韩八十路老熟女| 色欲Av人妻精品一区二| 国模精品娜娜一二三区| 欧洲精品在线播放| 性色A∨91| 精品丝袜无码一区二区三APP| 强奸乱伦中文字幕AV| 韩日精品四区| 欧美97se| 免费中文在线| 丝袜无码a片| 欧美性爱一区二区三区| 国产AV激情无码久久无码 | 大香蕉一级黄色片久久| 亚卅熟女乱色| 91夜夜蜜桃臀1区2区3区| 超碰是碰在线观看| 尤物网址| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 国产精品久久久无码AV网站| 亚洲永久AV无码精品秋霞| 舔人妻中文免费视频| 91av熟女人妻| 亚洲中文字幕97久久精品少妇| 一直超碰| 自拍偷拍第26| 午夜男人天堂| 九九九九九精品视频| 亚洲欧美日韩精品久久久一区二区| 闷骚老熟女15P| 97se亚洲综合自| 人摸人人操人| 亚洲另类色综合网站| 国产午夜福利电影免费在线观看 | 清纯唯美亚洲综合| 婷婷导航| 日逼97| 九色视频91| 激情五月天校园春色网| 少妇3P性爱自拍| 99www.bibizy香蕉资源国产一区二区三区高清 | 999久久久免费精品国产牛牛| 岛国精品视频在线观看| 欧美性五月| 加勒比久久综合网高清| 久热这里| 天天舔天天 | 欧美AB在线观看| 国产精品熟女一区二区三区| 美腿色图| 手机看片91人妻| 天天综合网~69| 九九久久久| 一区二区三区精品黑丝白丝酒店对鸡 | 成人一道本免费视频| 99999久久久久9国产精品| 亚州欧美色图| 国产精品情侣啪啪| 免费家庭乱伦视频| 色噜噜人妻丝袜AV资源| 两性色网| 夜夜嗨TV| 亚洲 综合 欧美| 欧美精品宗合| 久干网| 一区二区三区探花在线观看| 精久久久| 九九在线视频| 成年人三级黄色片视频| 中文字幕欧美精品亚洲日韩蜜臀| 思思99热| 亚洲无码国产探花在线观看| 91人妻久久久久久久久久久久久| 久久6热视频免费观看| 亚洲资源一区| 久久婷婷亚洲欧| 国产第25页在线观看| 欧美九一精品久久久熟妇| 99热思思| 人人操人人摸人人看人人插| 日日躁狠狠躁天天躁精品| 激情文学网伊人| 18啪啪手机免费性爱| 欧美 综合 亚洲| 色婷婷电影| 欧美成人一级麻豆| 色天天野狼综合社区| 97久久久久久久精| 逼操网站| 午夜男女爽爽大片免费观看| 青青草国产一区二区三区| 日本 欧美 亚中文字幕| 国产精品黄色三级av| 天天日夜干| 国产天美传媒精品| 中文字幕一区av| 国产传媒操逼视频| 后入式免费视频| 丝袜亚洲91| 国产少妇肉丝在线观看| 熟女人妻一区二区三区| 先锋激情∨在线视频播放| 日韩天天综合| 亚洲无限观看| 99热这里只有精| 人妻在线视频| 日韩操逼HD| 久久男人天堂| 无码粉嫩白虎一线天b区| 精品无码久久久久| 亚洲熟妇图片| 嗯嗯啊啊视频在线看| 国产精品久久久久久久黄无码 | 澳门成人网站久国产日韩| 午夜精品久久久久久久99蜜桃一| 亚洲一级性爱视频免费看| 人妻欧美| 大香蕉草草| 久久精品99久久久久久| 欧美综合加勒比在线| 欧州色图区| 熟女乱伦二区| 爱做久久久久久| 干干干天天| 国产丝袜美女在线一区| 男女啪啪啪18禁网站| 欧美性性性| 九七超碰人人乐| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 最新中文字幕在线亚洲| 国产一区在线免费播放| 91成人久久| 亚洲制服欧美另类内射| 日韩性爱视频免费在线| 久久香蕉国产线看观看猫咪av| 大黄片做爱的大的| 日本操大逼| 亚洲中文国际强奸字幕| 欧美人妻精品一区二区| 欧美日韩国产中文精品字幕自在自线| 色色香蕉| 色99视频| 美女诱惑爱爱| 欧美一区二区日韩传媒搭讪精品| 久久国产视频专区一二三| 亚洲色图20p| 欧洲射精91| 亚洲不卡av在线| 伊人丝袜美腿高跟在线观看高清 | 久久丁香久草综合网| 操一操摸一摸| 国产精品美女久久久久AⅤ国产馆| 久热影视| 色色五月天婷婷| 人妻少妇一区二区| 少妇人妻精品| 欧美性五月| 黄页| 岛国片在线视频网站| 精品中文字幕一区二区| 一区二区三区精品久久| 盗摄 精品 另类 一区| 欧美日韩人人精品| 91碰碰| 伊人九九| 新久久AV| 色婷婷丁香五月| 丝袜喷水在线| 超碰视97中文| 国产精品点击进入在线影院高清| 美女尤物人人操| 丁香六月啪| 免费视频在线观看啊啊啊啊啊| 一区二区三区 丝袜高跟| 亚洲男人天堂视频| 天天综合网网欲色| 99热这里只有精品9| 91在线免费观看处女| 狠色婷婷久久一区二区三区_| 99福利社| 可以免费看黄片的视频| 欧美精品日韩一区二区| 男人天堂久久日韩| 久久9精品| 曰韩操B| 大奶啊啊好爽| 啊啊啊啊啊好舒服视频| 少妇厨房愉情理伦片bd在线观看 | 日本媚薬中文字幕在线| 思思热免费在线视频| 午夜丁香婷婷| 欧美综合网1| 97超碰色色| 强奸乱伦大香蕉网| 国产精品欧美激在线| 97超碰超| 一个人免费HD91视频| 久久天天躁日日躁狠狠躁| 午夜噜噜噜| 看一级特黄a大一片| 久久综合18p| 九九九九亚洲| 免费人成?大片在线播放| 99天天超碰| 国产精品人妻免费精品| 国产成人亚洲精品自产在线 | 国产东北女人在线视频| 欧美 传媒 麻豆 日韩 偷拍| 国产熟妇 码视频户外直播 | 亚洲丝袜二区在线| 国产 无码 一区二区| 九九久久99| 欧美国产精品久久九九| AV色天香在线| 九九九色| 九九九久千久久激情蜜桃在线看 | A男人的天堂| 无码人妻精品一区二区三区99不卡| 九九九九久久久| 好湿好紧视频| 97操操| 亚洲图片欧美偷拍| 久久久久久亚洲精品不卡人乳| 99热线麻豆 | 好吊色在线观看| 蜜臀99久久精品久久久久| 日本福利社| 日日骚网站| 日本人妻A片成人免费看片| 亚洲双插| 91色综| 91色花堂| 操香逼| 国产美女裸体秘 永久无遮挡| 美骚妇av高清在线| 色综合天天| 99999这里都精品| 久久久久成人亚洲国产| 97色操| 艹我哪美一区无码| 插入逼91| 色娱乐色呦呦夜夜夜夜av| 青娱乐国产精品| 久久大香蕉97| 91人妻丝袜无码| 韩国手机不卡无码三级视频| 99国内熟女露脸视频| 啊v视频在线观看| 欧美写真视频一区| 午夜啊啊啊| 精品性爱一二三区| 丰满人妻一区二区三区免费 | 超碰到97情色| 亚洲91少妇| a片偷拍视频| 亚洲超碰综合网| 99ri视频| 日本人妻中文字幕| 性生活性生大爱77AV国产| 国产av白丝| 久久久无码av精| 亚洲熟女综合一区二区| 91丨精品丨国产丨丝袜| 天天摸,夜夜摸| 久操凹凸视频| 91成人18| 天天热精品| 欧洲乱码一区二区| 九九热精品| 福利操逼| 国产精品ww久久| 日本好吊色视频| 97亚洲综合电影| 自慰白浆在线观看| 精品欧美А∨无码黑人大荫蒂| 精品美女少妇一区二区| 日韩精品大香蕉伊人在线| 婷婷色综合| 黑人狂躁日本妞一区二区三区| 啊啊啊啊好多水| 97免费视频在线观看视频| 天美国产精品| 婷婷九月| 丰满人妻av一区二区三区| 亚洲国产精品成人综合| 欧美在线天堂| 女人香蕉久久毛毛片精品| 熟妇精品juliaannAV| 嗯嗯嗯好爽| 亚洲美女自拍偷拍视频| 免费黄色片。| 黑人精品XXX一区一二区| 超碰97亚洲| 一二区在线观看视频| 美女主播色欲91抠b在线播放| 97超碰色五月| Julia在线播放亚洲久久| 操我无码| 久久亚洲AV成人精品无码| 操逼视频国产无套| 综合久久久久久久久91| 日本操逼视频免费| 欧美成人免费在线观看| 欧美日韩1234| 囯产精品久久久久久久久久二区三区 | 国产精品久久久久久久久久久久久久久久| 天天干天天日天天射黄色片| 亚洲脚交| 少妇无码av专区线| 亚洲春色欧美| 日本人妻A片成人免费看片| 欧美性巨大╳╳╳╳╳高跟鞋| 国产精品久久久无码aV去| 国产精品久久| 91免费看一区二区三区| 精品无码一区二区三区色欲| 老熟妇乱轮| 中文字幕人妻资源在线| 欧美真人抽搐一进一出gif| 富女玩鸭子一级毛片| 国产肏逼网站| 免费啪啪av| japan日本高清乱xxxx| 精品亚洲国产成人av网站| 91人妻做a观看视频| 岛国片国产成人亚洲播放| 嫩草影院在线观看精品| 最新国产精品久久精品| 亚洲操操操| 大鸡巴久久久| 男人的天堂VA在线| 亚洲日本天堂| 91色夜| 九九无码| 久久精品日韩| www激情| 久久熟女人| 青青操在线亚洲视频观看欧美在线 | 超碰在线看| 亚洲高潮少妇| 神马午夜久久久| 亚洲精品久久一区二区三区蜜桃臀| 夜夜免费视频| 久久人妻| 日韩精品中文字幕一| 99日韩| 欧美日韩淫加| 中文熟女五十乱码在线| 丝袜美腿av女优在线| 亚洲密乳AV| 强免费黄色网址| 艳美熟妇先锋一二三区| 欧美一级专区免费大片 | 婷婷尹人大香蕉免费| 久久有碼| 亚洲AV色图| 看免费的黄片| 日本三级韩国三级99| 精品一区二区三区四区女| 欧美亚洲韩国视频十五区| 久久的免费性爱视频| 日韩丝袜二区| 欧美在线啊啊啊| 校园激情狠狠四射| 性在久久久久久| 尻女朋友一夜| 97色操| www.av在线视频| 97干com| 91中出在线| 三级特黄60分钟播放| 韩国一区二区精品亚洲| 天天综合站| 精品久久久久久无码| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 五十路熟女,国产欧美精品区一区二区三区| 人人妻人人爱人人玩| 天天干天天操天天干天天操| 97久久免费| 丁香七月婷婷| 青青草日韩无码| 97在线亚洲| 国产精品麻豆视频网站| 精品一区二区三区四区女| 久久久少妇| 综合熟女| 欧美92| 成人午夜视频免费播放| Julia Annxxxxx| 日日夜夜精品| 日日黄色三级网站| 色欲三区| 大香蕉综合久久| 国产精品一区二区久久精品| 男女91| 东北少妇高潮zzzz| 91女在线观看| 欧美性爽xyxOOOO| 99精品丰满人妻无| 91香蕉国产尤物视频| 激情四射婷婷四五月天| 亚洲福利影院一区久久| 亚洲av总站| 看免费一级在线播放毛片| 男人的天堂成人的社区| 亚洲欧美一区二区网址| 蜜臀人妻少妇久久在线观看| 亚洲**2021在线观看| 久久做97| 操逼操逼逼操操逼91| 国产AV天美传媒一区二区三区 | 成人蜜乳小视频网站| 宅男午夜在线视频| 亚洲欧美日韩免费电影| 国产精品毛片| 九九九九久久久| 放黄片放3级黄片没穿衣服| 人妻天天爽夜夜爽精品2| 九九精品无码专区免费| 九九九九97| 99视频在线| 大香蕉久久| 超硑97精品| 人妻一区视频| 久久久久久人体| 99热免费| 色官网色综合| 成人小电影网站tex| 乱理日韩中文| 亚洲天堂7777| 久久97超碰| 一区二区三区四区久久视1| 亚洲成?V人片在线观看福利| 欧美日韩久久精品爱爱| 97露脸精品丝袜| 日亚韩精品视频二区三| 国产精品午夜AV完会免费| 97超级欧美| 久久久com| 强奸乱伦AV一天堂网| 国产91丝袜在线播放蜜月| 超碰97爽| 国产成人bd在线观看| 国产女大学生AV| 人妻大香蕉| 亚洲AV免费在线观看| 天天搞在线综合网| 亚洲情色视频| 夜夜爽夜夜摸夜夜操免费视频| 2001天天操| 操逼国产免费| 天天草天天日| 怡红院网站在线视频| 蜜桃视频一区二区三区在线观看| 国产亚洲精品自在线亚洲情侣| 97无码视频在线播放| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 狠狠爱大香蕉| 亚洲图片在线| 91精品人妻一区二区三区蜜桃臀| 大香蕉久| 国语精品内射在线观看| 思思热在线视频在线| 国产美女91| 丝袜美女诱惑 91 视频| 中文字幕丝袜人妻| 日韩另类色图| 簧片免费看视频| 日韩乱中文 | 日韩午夜国产| 欧美大香蕉在线观看| 成人精品在线观看| 欧美日韩第一页| 亚洲啪啪视频一区二区| 久久性爱精品一区| 日韩一级久久毛片| 张柏芝国产一区在线观看| 亚洲熟女诱惑| 日韩大香蕉AV影片| 天堂亚洲精品| 九九九九一区| 久久超碰天天| 粉嫩久久久极品| 午夜精品久久久久久久| 中文字幕在线2| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 欧美激情一区二区| 日夜久久久九九九久| 蜜桃中文字日产乱幕4区| 大香蕉操久久| 欧美美女自慰一区二区三区| 91亚洲人电影| 77777亚洲蜜臀精品久久综合蜜臀| 亚洲影视综合网| 麻豆天美国美国产AV| 欧美图片偷拍| 看黑人AV不卡| 中文97国产| 成人在线视频一区| 亚洲欧美国产va在线| 欧美熟女丝袜| 亚洲色综网| 91制服丝袜| 少妇久久久久| 高清无码久操视频| 一牛影视成人片免费| 久久av成人无码免费| 曰韩无码777| 天天日天天色| 青青草在线成人视频| 亚洲狼狼干综合1| AV99热18这里只有精品| 97久久精品不卡| 视频二区美腿制服人妻欧美| 大香蕉中文| 国产精品原创巨作?v网站| 欧美激情性爱视频网站| 欧美性爱视频免费一区一A| 综合激情婷婷| 黄色二级片网站| 丝袜av一区二区三区| 亚洲天堂久久| 久久久久久网址| 亚洲中文国际强奸字幕| 丁香五月综合| 欧美色天堂网在线视频| 久久久性少妇| 亚洲日韩天堂| 久久av成人无码免费| 久久婷五月天| 亚洲精品国产精品乱码不卡| 90后后入| 大香蕉乱级| 中文字幕一区日韩精| 综精品久久久aaaa| 91在线国产后入风骚翘臀美女素人| 综合色一区三区二区| 又粗又长又爽在线观看| www.狠狠| 91欧美性| 日本一级特级毛片视频| 日亚韩精品视频二区三| 亚洲综合码| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 性一级黄色录像片网站导航 | 2003天天干夜夜操| 久久性爱视频99| 开心婷婷五月| 欧美国产操逼| 久久久久久99AV无码免费网站| 色综合尤物| 亚洲第一二区另类图| 午夜毛片亚洲精品片国产久久久| 熟女在线视频| 国产精品69久久久久孕妇欧美 | 蜜桃精品一区二区三区ww| 黑人粗大V S日韩女优视频| 香蕉国产精品麻豆亚洲欧美日韩| 激情五月综合| 亚洲偷91色| 黄色大片免费在线| 厕所偷拍在线| 伊香蕉综合久久久久久久噜噜噜| 国产乱人伦AVA麻豆软件.| 99热精品国产| 久久综合九色综合欧洲98| 97在线精品| 亚洲极品| 亚洲成熟国产精品美女| 熟女AV一区| 国模私拍一区二区三区神乳| 嗯啊啊啊轻点视频| 欧美少妇人妻| 99色综合| AV天堂因数| 久久五月丁香| 成人一二三区| 四色永久成人网站| 高潮9999外国| 99啪啪视频| 亚洲有薄码区久久在线一区| 国产操逼逼网| 国产精品久久久久999| 手机在线中文字幕国产| 1204av韩国| 欧美午夜视频免费观看| 久久99精品国产| 十八禁av无码免费网站APP| 久久夜夜夜夜| 伊人黄色片| 爱爱久久| 蜜桃视频成a人v在线| 日韩不卡网操逼中文字幕日韩| 国产一进一出视频网站| 我中文字幕6区| 欧美强奸乱能| 久久久久久99999国产精品| 亚洲欧美经典一区二区| 超碰色97| 极品白嫩福利在线| 老司机深夜18禁污污网站| 国产亚洲色婷婷99精品91| 操迟操逼在巾线Fre看| 制服诱惑亚洲一区二区三区在线观看| 约操熟妇| 一本大道青青| 爽爽歪在线视频| 日本羞羞的视频在线播放| 日夜久久久九九九久| 无码天天操| 国产丝袜一区二区三区| 天天干少妇| 成人国产视频在线观看| 日韩不卡网操逼中文字幕日韩| 天堂中文资源在线bt| 综合欧美色图| 天天综合AV| 岛国网址国产| 精品少妇99| 97久久精品亚洲中六字幕| 人人操人人摸人人看人人干| 色97欧美| 色天使大香蕉| 麻豆啪啪啪视频| 国产传媒日韩欧美| 偷拍2020| 一区二区三区在线资源| 国产91啪| …亚洲黄色厕厕女女在线播…| 欧美精品久久96人妻无码| 国产人妻天天干精品| 精品久久視頻在线| 国产又色又粗又黄又爽| 国产2.3.4区| 夜夜操av亚洲一区二区| 东亚亚洲无码高清| AVE乱伦| 久久久久久无码人妻中文字幕| 野狼激情网| 黄页视频网站野外| 男人的天堂 在线一区| 999熟女精品| 婷婷国产精品九区| 丁香五月激情综合国产| 成人精品久久久午夜福利| 欧美同性恋 的搜索结果 - 91n| 特级大荫道BBwBBwBBW| 国内精品久久久久影院亚洲| 在线观看不卡一区二区三区| 精品免费成人久久| 91处女视频在线观看| 熟妇熟女亚洲天堂网| 国产女人91精品嗷嗷嗷嗷| 亚洲黄片免费在线播放| 国产熟女一区二区| 劲爆欧美人妖三区91| 观看视频图片一区二区三区| 依人大香蕉| 日本www操操操| 午夜视频久久久久一区| 亚洲资源站| 老司机香蕉久久久久| 久久久久921| 亚洲欧美setu| 午夜呻吟欧美| 久久久九97| 精品国产精品一区二区| 日本高清_区二区三区| 国产精品无码成人精品| 青青在线视频日韩欧美| 99精品九九九九九九| 欧美青青草视频| 都市激情人妻一区二区青青操视频| 人妻夜夜爽天天爽麻豆三区网站 | 91精品久久久久久综合五月天| 欧美一区二区三区另类精品| 久艾草在线精品视频在线观看| 91久久| 97aiaiai| 人妻少妇精品久久久久久久| 青青久久艹| 国产视频第二页| 美欧色综合| 精品久久久久综合无码| 久草资源在线| 91成人18| 国产女大学生AV| 亚洲精品自拍| 日韩成人在线性爱视频| 多毛小伙内射老太婆| 精品国产人成在线| 欧美专区日本专区| 91在线无码精品秘 软件| 秋霞欧美性爰视频| 日本福利二区视频| 九九热AV| 91蜜臀在线久久久久| 乱日视频| 欧美操逼视频二区| 一级日本牲交大片好爽在线看| 亚洲**2021在线观看| 两女互慰AV高潮喷水在线观看| 亚欧免费| 日本一本道A级黄色毛片试看60分钟| 黄片无码在线制服| 国产激情久久久| 丝袜熟女2P| 91色黑人少妇| 中文字幕久久亚州无码| 夫妻AV网站| 78久久| 丰满人妻一区二区三区性色| 自拍偷拍 高清无码| 日本理论在线| 成年女人一区| 韩国女主播青草在线| 五月天欧美色图| 91综合熟女| 隔壁邻居波多野结衣中文字幕| 国产一区二区欧美日本| 熟女性视频| 嗯嗯啊啊视频一区二区三区| 国内一区二区三区| 91熟女视频| 夜色AV无码手机在线影院| 色婷婷五月天| 国产亚洲色婷婷99精品91| 2019男人的天堂| 一级乱伦网站| 秋霞蝌科网日本一区| 亚洲午夜免费狠狠干| 日本大香蕉| 亚洲成成熟女人综合一区二区| 日韩有码 一区二区三区| 蜜乳性色无码专日粉嫩骚逼AV| 99精品无码| 色色色色色色色色综合| 91熟女丨91老女人| 国产中文大片资源中文字幕| 可以看的av| av久日| 色在线视频导航| 黄aaaaaaaaaaaaaaaaaa色网站 | 在线欧美69V免费观看视频| 四色永久成人网站| 久久综合超碰| 97综合久久| 亚洲 欧美日韩 另类| 影音综合网| 少妇三p| 强奸乱伦中文字幕AV| 亚洲情色婷婷五月天| 欧美肥臀在线| 久操网无码在线| 99精品丰满人妻无| 老熟乱一区二区三区四区| 奇米四色影视777久久久| 麻豆久久视频在线地址| 骚鸭AV| 秋霞蝌科网日本一区| 欧美se亚洲| 亚洲高清自拍| AA丁香综合激情| 日韩色图 一区二区| 操操逼视频| 国产天天骚| 亚州综合网| 丁香激情五月天| 日1区2区3区2020| 91快色色色色色| 东京热av男人的天堂| 搡老女人911熟妇老熟女| 黄色AV影视| 久久精品28| 亚洲色综合| 一本色道久久综合亚洲二区三区| av绯色| 嫩草影院永久在线制服丝袜| 人人操人人色人人摸| 91大神电影天堂| 超碰成人人人爽人人爽| 欧美久久九九| 日韩小电影| 美女高潮国产高清| 久久久久国产精品片区无码直播| 制服中出中文人人精品| 国产精品无码av| 成熟熟女国产精品一区二区| 91精品女厕偷拍视频| 久久久久ab| 国产中文精品一区二区在线观看| 美女黑人91神马| 亚洲中文一区二区三区| 性欧美精| 最新国产亚洲精品精品国产亚洲综合| 国产久久男人天堂| 日本女优在线视频福利| 男人天堂最新手机版在线青青草| 国产精品香蕉热久久新品| 青青草影视蜜久久| 丁香五月婷婷啪啪| 亚洲风情在线观看| 精品无码一区二区| 亚洲黄片免费在线播放| 国产精品在线网站| 亚洲精品aa久久伊人| 麻豆色99999| 欧美毛片在线网| 人妻性爱一区二区| 嗯嗯啊啊视频一区二区三区| 国产精品自在线发布| 国产中文字幕在线观看| 欧美激情五月天| 绯色一区二区三区不卡少妇| 天天摸夜夜操视频| 黄网色一区二区三区四区精品| 欧美日韩狠狠爱| 久久这里都是精品| 日韩图区 偷拍| 人妻熟妇一区二区三区| 日韩99神马视频播放片在线播放| 狠狠色伊人亚洲综合网站色| 国产日韩色综合| 久久久成人精品| 五月婷婷基地| 熟妇综合一区二区三区| 天堂在线一区二区| 亚洲精品美女久久久久久久久| 久久78| 97频视在线| 欧美精品第3页| 中文精品一区二去| 青青草原av| 少妇诱惑视频| 国产又大又硬又长又粗| 91这里只有精品| 好爽免费视频,| 69精品少妇一区二区三区蜜桃| 亚洲伊人a线观看视频| 亚洲精品 欧美97色色| 中文字幕精品人妻丝袜| 欧日a| 91香蕉国产尤物视频| 久久视频,这里只有精品| 精品无码久久久| 日亚韩精品视频二区三| 久久久性| 天天干夜夜鈤| 二三四区精品| 91在线欧色| 人人操人人大香蕉| 国产精品日本无码A片| 久久久免费高清中文视频| 美女的肌被草喷水视频| 色九月婷婷| 久久精品国产亚洲AV高级北京| 亚洲天堂欧美| 久久久精品九| 91真人天天在线| 一牛影视久久久一区二区三区| 国产乱伦性爱AV| 国产精品久久99日日| 岛国爱情动作片在国产AV无码专区亚洲AV漫画 | 欧美综合综合| 日韩不卡网操逼中文字幕日韩| 欧美老熟另类| 水澄无码AV| 五月丁香色情| 日韩一级片在线看| 黄色AAAAAAAAAAA大片| 亚洲A曰本VA欧美VA视频| 屁股久久久久久| 99热销国产这里有精品| 亚洲中文字幕一区| 久草草一二三四区久久| 久超超碰| 色91综合网| 一区二区三区网站日日骚| 日韩另类色图| 激情小说五月天| 中文字幕一区日韩精| 国产精品久久久久无码AV会牛| 伊人久久综合精品欧美| 三级精品三级在线观看| 26uuu最新| 三上悠亚在线毛片91| 色汉综合| 精品少妇999| 丝袜美腿亚洲| 精品九九| 日本中文熟女视频| 2017av无码免费无线播| 色姑娘综合网| 人妻少妇久久中文字幕一区二区 麻豆| 亚洲不雅视频1区二区| 男同专区一区二区三区在线| 91精品国产91熟女| 亚洲黄色AV电影| 搡老女人老熟女91老熟女综合网| 国产精品97视频| 色臀AV| 天天日天天操天天射河南省| 男女无套 免费网站| 人人操欧美风骚| 天天看精品动漫视频一区| 综合亚洲欧美精品日韩?v| 国产亚洲精品A在线观看下载| 黄片qw| 日本性爱少妇| 大香蕉伊人久久| 国产黄a三级三级三级av在线看| 久久久不能久久久久|