将ansi脚本自动转换为unicode

时间:2011-01-05 10:36:59

标签: sql sql-server oracle unicode

我们有一组脚本,用于Oracle作为SQL Server。 这些脚本是ANSI。

现在我们也想支持Unicode数据库。但这需要对我们的脚本进行一些修改。例如,使用不同的数据类型并在字符串前加上“N”。

有人知道是否有工具将脚本转换为unicode /从unicode转换脚本?我找不到任何使用多个搜索引擎的东西。

1 个答案:

答案 0 :(得分:2)

Oracle 中,您有两种方法。如果您完全控制数据库服务器,我建议您只更改默认字符集,即NLS_CHARACTERSET参数的值,并保持其余数据库内容不变。使用常规CHAR / VARCHAR2列可提供更广泛的功能集(例如全文索引)。

如果没有对服务器的完全控制,或者您需要与旧的非多字节感知应用程序保持兼容,则必须检查NLS_NCHAR_CHARACTERSET参数的值并将所有数据库内容更改为使用NCHAR / NVARCHAR2数据类型。

这是另一个突出差异的问题:

Difference between VARCHAR2(10 CHAR) and NVARCHAR2(10)

最后但同样重要的是,这里有一些有用的查询:

SELECT * FROM NLS_DATABASE_PARAMETERS;
SELECT * FROM NLS_INSTANCE_PARAMETERS;
SELECT * FROM NLS_SESSION_PARAMETERS;

注意:抱歉,我无法使用迁移工具或SQL Server部件。