2015-12-14 132 views
0

我在Access数据库中有一堆的Yes/No字段,我需要进入SQL Server。如果我查看Access数据,那些字段包含0或-1。在SQL Server端我创建了并没有对我的工作类型BIT的领域,我假设,因为BIT预计0或1。这是我的错误:从MS Access导入数据到SQL Server的问题

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)也做了尝试不工作,说“从数据源类型字符串的给定值不能转换为类型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. 

但没有任何一种方式工作

回答

0

在导入过程中使用了一下,你会想要做的是从一个转换到1号和为0,你可以使用一个CASE语句来处理此操作。

IE

CASE WHEN colVal = 'Yes' THEN 1 ELSE 0 
+0

不幸的是,我不能更改导入的包 – ElenaDBA

相关问题