SQLServer通過連結伺服器查詢檢視報錯 “訊息 7347,級別 16”
SQLServer通過連結伺服器查詢檢視報錯“ 訊息 7347 ,級別 16 ”
問題: 通過 連結伺服器 遠端檢視某張表資料時報如下錯誤:
訊息 7347 ,級別 16 ,狀態 1 ,第 1 行
連結伺服器 '192.168.200.51' 的 OLE DB 訪問介面 'SQLNCLI11' 返回的資料與列 '[192.168.200.51].[erp].[dbo].[vp_cust].PName' 所需的資料長度不匹配。所需的 ( 最大 ) 資料長度為 30 ,但返回的資料長度為 37 。
問題原因:
檢視所在基表表結構發生變化, PName 欄位字元長度變長了,但是 通過 連結伺服器 遠端檢視的表仍然使用表 PName 欄位 原來的字元長度, 表結構變化的資訊沒有同步,查詢時顯示資料長度不夠;
解決方案:
手動重新整理檢視;
EXECUTE sp_refreshview N'dbo.vp_cust' ;
問題重現過程如下:
192.168.100.100 伺服器建立連結伺服器,連線 192.168.100.200 的 TESTDB 資料庫;
---192.168.100.200
建立測試資料;
Use TESTDB
Create table test1013(id int,col1 varchar(3));
Create view v_test1013 as select * from test1013;
Insert into test1013 values(1, ’ a ’ );
Insert into test1013 values(2, ’ bb ’ );
Insert into test1013 values(3, ’ ccc ’ );
---192.168.100.100
Select * from [192.168.100.200].[TESTDB].[dbo].[v_test1013];
Id col1
1 a
2 bb
3 ccc
---192.168.100.200
Alter table test1013 alter column col1 varchar(5);
Insert into test1013 values(5, ’ eeeee ’ );
Select * from v_test1013;
---192.168.100.100
Select * from [192.168.100.200].[TESTDB].[dbo].[v_test1013];
訊息 7347 ,級別 16 ,狀態 1 ,第 3 行
連結伺服器 '192.168.2.141' 的 OLE DB 訪問介面 'SQLNCLI11' 返回的資料與列 '[192.168.2.141].[erp352].[dbo].[v_ test1013 ]. col1 ' 所需的資料長度不匹配。所需的 ( 最大 ) 資料長度為 3 ,但返回的資料長度為 5 。
---192.168.100.200
EXECUTE sp_refreshview N'dbo.v _test1013 ' ;
---192.168.100.100
Select * from [192.168.100.200].[TESTDB].[dbo].[v_test1013];
Id col1
1 a
2 b
3 ccc
5 eeeee
歡迎關注我的微信公眾號"IT小Chen",共同學習,共同成長!!!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29785807/viewspace-2659813/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQLServer通過連結伺服器查詢表報錯 “訊息 7313,級別 16”SQLServer伺服器
- 檢視查詢報錯
- SQLSERVER跨伺服器查詢SQLServer伺服器
- Sqlserver資料庫郵件的體系結構及常用的查詢檢視SQLServer資料庫
- MySQL查詢取別名報錯MySql
- Win10系統下怎麼通過事件檢視器中檢視硬碟檢查結果Win10事件硬碟
- 雲伺服器如何檢視埠是否連通伺服器
- Dynamics CRM 通過配置來設定查詢欄位的預設檢視
- 通過bundle Id查詢應用資訊
- SQLServer之建立連結伺服器SQLServer伺服器
- 連結伺服器查詢導致的阻塞伺服器
- Sqlserver使用遊標迴圈查詢所有sqlserver error日誌帶有Exception的報錯SQLServerErrorException
- 【MySQL】檢視&子查詢MySql
- SQLServer查詢使用者儲存過程SQLServer儲存過程
- SqlServer遞迴查詢SQLServer遞迴
- 查詢SQLSERVER版本號SQLServer
- navicat 新建查詢報錯
- elasticSearch head 查詢報錯Elasticsearch
- 兩種方式建立sqlserver連結伺服器SQLServer伺服器
- sqlserver建立與Oracle的連結伺服器SQLServerOracle伺服器
- 連線資料後,當執行查詢語句報錯:ORA-01219: 資料庫未開啟: 僅允許在固定表/檢視中查詢資料庫
- 20240712總結、檢視函式對映報錯函式
- sqlserver查詢結果中新增自動編號SQLServer
- Qt Quick 訊息列表檢視元件QTUI元件
- OushuDB 檢視查詢執行情況
- 【PDB】Oracle跨PDB檢視查詢Oracle
- MySQL 查詢的成本的檢視MySql
- JAVA通過URL連結獲取視訊檔案資訊(無需下載檔案)Java
- 基於單連結串列的班級通訊錄
- indexedDB 通過索引查詢資料Index索引
- 通過Web API查詢資料WebAPI
- 【SQL】Oracle查詢轉換之物化檢視查詢重寫SQLOracle
- 第 16 課 PostgreSQL查詢過程原始碼分析SQL原始碼
- SAP QM 檢驗批上各個MIC質檢結果的查詢報表?
- 檢視 Laravel 查詢資料語句Laravel
- [20210418]查詢v$檢視問題.txt
- 【記錄】sqlserver列轉行查詢 並將查詢結果用逗號分隔開SQLServer
- Win10系統下怎麼透過事件檢視器中檢視硬碟檢查結果Win10事件硬碟