相关疑难解决方法(0)

SSIS - 平面文件总是ANSI从不UTF-8编码

有一个非常直接的SSIS包:

  • OLE DB Source通过视图获取数据(db表nvarchar或nchar中的所有字符串列).
  • 派生列以格式化现有日期并将其添加到数据集(数据类型DT_WSTR).
  • 用于在以下各项之间拆分数据集的多播任务:
    • OLE DB命令将行更新为"已处理".
    • 平面文件目标 - 其连接管理器设置为代码页面65001 UTF-8和Unicode未选中.所有字符串列都映射到DT_WSTR.

每次我运行这个包时,在Notepad ++中打开它的ANSI平面文件,而不是UTF-8.如果我检查Unicode选项,则该文件是UCS-2 Little Endian.

我做错了什么 - 如何让平面文件成为UTF-8编码?

谢谢

ssis flat-file utf-8

17
推荐指数
4
解决办法
5万
查看次数

Microsoft SQL Server Management Studio - 以文本形式查询结果

我在Microsoft SQL Server中有一个数据库,我正在使用Microsoft SQL Server Management Studio.

我可以选择将查询结果插入到文件中,但查询结果不会被任何特殊符号分隔.

看起来像这样

select * from table_name
Run Code Online (Sandbox Code Playgroud)

输出:

18 182 3386 NULL
18 790 12191 NULL
Run Code Online (Sandbox Code Playgroud)

在文件中:

18          182         3386        NULL
18          790         12191       NULL
Run Code Online (Sandbox Code Playgroud)

有没有可能修改查询所以在每条记录之后它会放一个特殊的字符,如下所示:

在文件中:

18;          182;         3386;        NULL;
18;          790;         12191;       NULL;
Run Code Online (Sandbox Code Playgroud)

我将这个数据库复制到其他程序会更容易.

sql sql-server

11
推荐指数
3
解决办法
9118
查看次数

SQL Server 2012在结果中不显示Unicode字符

我要做的就是将具有直接当前符号格式两个 ?字符的字段更新到我的SQL Server 2012数据库中。那是过分的要求?显然是。

这个问题这个问题 的答案是相同的,对我不起作用。

我的更新脚本

UPDATE Table 
SET Value = N'SUPPLY 9-30Vdc 0.2W ?' 
WHERE id = '1234'
Run Code Online (Sandbox Code Playgroud)

Aaaa和相关的表模式:

CREATE TABLE [dbo].[Table]
(
    ...
    ... 
    [Value] [nvarchar] (1000) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
    ...
    ...
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)

想要更多?结果如下sp_columns

在此处输入图片说明

是的,我在字符串前加上N''。那应该起作用,对吗?不。

屏幕截图:

在此处输入图片说明

请注意Unicode字符应放在的小框。为什么呢?

sql unicode sql-server-2012

3
推荐指数
1
解决办法
3479
查看次数

标签 统计

sql ×2

flat-file ×1

sql-server ×1

sql-server-2012 ×1

ssis ×1

unicode ×1

utf-8 ×1