国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

使用SqlBulkCopy時應注意Sqlserver表中使用缺省值的列

2024-08-31 00:57:27
字體:
來源:轉載
供稿:網友
SqlBulkCopy 來自數據源的 String 類型的給定值不能轉換為指定目標列的類型 nvarchar。

使用SqlBulkCopy時應注意Sqlserver表中使用缺省值的列



在網上找了下,大都說是因為數據庫中的字段過小(

來自數據源的 String 類型的給定值不能轉換為指定目標列的類型 nvarchar。
),造成截斷的錯誤導致,仔細檢查后發現我的表設計中沒有字段過小的情況,也不是單引號的問題。

后經仔細調試發現,由于使用SqlBulkCopy導入時我的文本文件與庫中的表列不對應造成的。我的文本文件中有字段18個,而我的表中只使用了9個字段,且有兩個是文本文件中沒有的(即表結構1中的[Level]與[Cagegory]字段),由數據庫填入默認值。表結構如下:

復制代碼 代碼如下:


表結構11
CREATE TABLE [dbo].[Ryxx](
[Name] [nvarchar](30) NOT NULL,
[IdCardNo] [nvarchar](30) NOT NULL,
[Sex] [nvarchar](2) NOT NULL,
[Height] [nvarchar](5) NULL,
[Level] [nvarchar](2) NULL, --默認為A
[Category] [nvarchar](20) NULL, --默認為“重點管理”
[Sponsor] [nvarchar](100) NULL,
[Contact] [nvarchar](30) NULL,
[Phone] [nvarchar](50) NULL,
[Number] [nvarchar](30) NULL

) ON [PRIMARY]


表結構1

修改后的表結構如下

復制代碼 代碼如下:


CREATE TABLE [dbo].[Ryxx](
[Name] [nvarchar](30) NOT NULL,
[IdCardNo] [nvarchar](30) NOT NULL,
[Sex] [nvarchar](2) NOT NULL,
[Height] [nvarchar](5) NULL,
[Sponsor] [nvarchar](100) NULL,
[Contact] [nvarchar](30) NULL,
[Phone] [nvarchar](50) NULL,
[Number] [nvarchar](30) NULL,
[Level] [nvarchar](2) NULL, --默認為A
[Category] [nvarchar](20) NULL --默認為“重點管理”
) ON [PRIMARY]


至此,問題解決。分析原因是因為從文本文件中獲取的字段對應到表中缺省列中去了,產生了截斷,想想使用bcp 時應該也會出現這樣的錯誤。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 松江区| 莱州市| 呼伦贝尔市| 祁连县| 济源市| 威信县| 江源县| 长葛市| 通辽市| 邹城市| 获嘉县| 丰台区| 敦化市| 德庆县| 吴忠市| 壶关县| 拜泉县| 永新县| 溧水县| 清流县| 庆安县| 隆尧县| 理塘县| 烟台市| 禄丰县| 岳西县| 惠来县| 西安市| 壶关县| 霍邱县| 靖江市| 金寨县| 大丰市| 邯郸市| 大化| 会理县| 祁东县| 泽普县| 元朗区| 新巴尔虎右旗| 北流市|