我正在尝试使用 SQL Server 的导入和导出向导 (SQL Server 2008 R2) 导出 SQL Server 数据库。数据库模式在目标 PostgreSQL 数据库中创建得很好,大多数数据也是如此。仅当我尝试导出NULL在第一行中有值的列时才会崩溃:
Error 0xc020844b: Data Flow Task 22: An exception has occurred during data insertion, the message returned from the provider is: Kan een object van het type System.Int32 niet converteren naar het type System.Char[].
(SQL Server Import and Export Wizard)
不幸的是,相关的例外是荷兰语,但它说它不能将类型的对象转换System.Int32为System.Char[]. int原始 SQL Server 架构中的列类型integer在生成的 PostgreSQL 数据库中。
仅当第一行中的列值为 时才会发生这种情况NULL。我认为它试图根据列的第一个值推断数据的类型,System.Char[]如果第一个值是NULL. 有没有办法改变这种行为,并让数据的类型以与生成的 PostgreSQL 列的类型相同的方式推断出来(因为它正确地做到了)?