繁体   English   中英

从MS Access导入数据到SQL Server时出现问题

[英]Issue importing data from MS Access into SQL Server

我需要进入SQL Server,在Access数据库中有一堆Yes / No字段。 如果我查看Access数据,则这些字段包含0或-1。 在SQL Server端,我创建了BIT类型的字段,该字段对我不起作用,我假设是因为BIT预期为0或1。这是我的错误:

The given value of type String from the data source cannot be converted to type bit of the specified target column. ---> 
System.FormatException: Failed to convert parameter value from a String to a Boolean. 
String was not recognized as a valid Boolean

我还尝试使用nvarchar(3),该方法也不起作用,说“数据源中String类型的给定值无法转换为nvarchar类型”

我应该使用哪种数据类型? 我尝试了BIT,TINYINT,NVARCHAR(3),CHAR(1)和CHAR(2)。

使用CHAR(1)或CHAR(2)给我一个不同的错误:

System.Data.SqlClient.SqlException (0x80131904): Received an invalid column length from the bcp client for colid 13.

但是无论哪种方式都行不通

我总是使用SMALLINT (2字节有符号整数)允许0和-1,并避免使用BIT字段的麻烦。

https://msdn.microsoft.com/zh-CN/library/ms187745.aspx

稍微花一点,在导入过程中,您将要进行从Yes到1的转换,从No到0的转换,可以使用CASE语句来处理此操作。

IE浏览器

CASE WHEN colVal = 'Yes' THEN 1 ELSE 0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM