我们是SQL Server用户,最近我们在PostgreSQL上有一个数据库。为了保持一致性,我们将SQL Server 2000上的复制数据库迁移到SQL Server 2000上的其他数据库,现在我们还需要将它复制到PostgreSQL上的数据库中。我们能够使用ODBC和Linked Server来做到这一点。我们在PostgreSQL上为数据库创建了一个ODBC DSN,并使用该DSN在SQL Server上创建了一个链接服务器。我们能够将表从SQL Server数据库复制到该链接服务器,从而成功复制到PostgreSQL数据库。现在面临的问题是复制时,数据类型位,数字(12,2)和小数(12,2)分别转换为字符(1),字符(40)和字符(40)。有关如何在PostgreSQL数据库中保留这些数据类型的解决方案吗?我的意思是该位应该成为布尔值,并且数字和十进制数据类型应该保留在postgresql的复制表中。我们正在使用PostgreSQL 9.x
SQL Server表,
CREATE TABLE tmtbl
(
id int IDENTITY (1, 1) NOT NULL PRIMARY KEY,
Code varchar(15),
booleancol bit,
numericcol numeric(10, 2),
decimalcol decimal(10, 2)
)
被复制到PostgreSQL之后就变成了,
CREATE TABLE tmtbl
(
id integer,
"Code" character varying(15),
booleancol character(1),
numericcol character(40),
decimalcol character(40),
)
非常感谢。
答案 0 :(得分:1)
请使用:
答案 1 :(得分:0)