gpt4 book ai didi

sql-server - 导出到 PostgreSQL 时出现 SQL Server 导入和导出向导错误

转载 作者:搜寻专家 更新时间:2023-10-30 19:51:34 24 4
gpt4 key购买 nike

我正在尝试使用 SQL Server 的导入和导出向导 (SQL Server 2008 R2) 导出 SQL Server 数据库。数据库模式在目标 PostgreSQL 数据库中创建良好,大部分数据也是如此。它仅在我尝试导出第一行中具有 NULL 值的列时崩溃:


错误 0xc020844b:数据流任务 22:数据插入期间发生异常,从提供程序返回的消息是:Kan een object van het type System.Int32 niet converteren naar het type System.Char[]。
(SQL Server 导入导出向导)

不幸的是,相关的异常是荷兰语的,但它说它不能将 System.Int32 类型的对象转换为 System.Char[]。原始 SQL Server 架构中的列类型是 int 和生成的 PostgreSQL 数据库中的 integer

只有当第一行中的列的值为 NULL 时才会发生这种情况。我认为它会尝试根据列的第一个值推断数据类型,如果第一个值为 NULL,则默认为 System.Char[]。有什么方法可以改变这种行为,让数据的类型以与生成的 PostgreSQL 列的类型相同的方式被推断出来(因为它正确地做到了)?

最佳答案

问题似乎不在 PostgreSQL 方面,因此您可能应该寻找转换工具来查找错误。来自 psql:

test=# CREATE TABLE import (id int NOT NULL PRIMARY KEY, val1 int, val2 int);
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "import_pkey" for table "import"
CREATE TABLE
test=# COPY import FROM STDIN (FORMAT CSV);
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.
>> 1,,111
>> 2,22,222
>> \.
test=# SELECT * FROM import;
id | val1 | val2
----+------+------
1 | | 111
2 | 22 | 222
(2 rows)

关于sql-server - 导出到 PostgreSQL 时出现 SQL Server 导入和导出向导错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10209860/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com