更改使用文本文件的 SSIS 日志提供程序创建的文件的文件编码
Change the file encoding of the file which is created using SSIS Log provider for Text Files
我是 SSIS 的新手,我已经为文本文件设计了一个包并配置了 SSIS 日志提供程序。
这工作正常并且日志文件已成功生成。
我们有一个监控团队,他们使用这个日志文件进行监控。他们无法读取日志文件,因为文件编码是 Unicode 格式。
他们期望使用非 unicode 格式进行监控。
我试图将现有的日志文件编码更改为 ANSI,但是当我重新运行 包时,我的日志文件已使用 UNICODE 编码再次创建。
我们是否可以使用 SSIS 日志提供程序为非 unicode 编码的文本文件创建日志文件。请建议我任何解决方法。这两天一直找不到解决办法
正在尝试找出问题所在
由于 文本文件的 SSIS 日志提供程序 使用 文件连接管理器 进行日志记录,您无法选择编辑SSIS 包中的文件编码,因为这种类型的连接管理器 can be used for different files format (excel, text ...).
在搜索此问题时,如果日志是由 SSIS 首次创建,它将写入 unicode 数据。
- why are my log files getting generated with a space between every two characters?
- Why is my SSIS text logfile formatted in this way?
可能的解决方法
尝试使用记事本创建一个空文本文件并使用 ANSI 编码保存。
然后 select 来自 SSIS 日志记录配置的文件。
其他有用的链接
更新 1 - 实验
为了测试我提供的解决方法,我有 运行 以下实验:
- 我添加了 SSIS 日志记录并创建了一个新的日志文件
- 执行包后,文件以 Unicode 创建 (检查我是否使用记事本打开文件并单击
Save As
,组合框中显示的编码是 Unicode
)
- 我使用记事本创建了一个新文件,并使用上面提到的
Ansi
编码保存它。
- 在 SSIS 中,我将文件连接管理器从
Create New
更改为 Use Existing
,并且我 select 编辑了我创建的文件
- 执行包后,日志被填充到文件中,编码仍然是
Ansi
- 我重复执行了几次包,撤消不会改变。
TL DR: 在 ssis 包外用 ANSI
编码创建一个文件,在包内创建一个文件连接管理器,select Use Existing
选项并选择创建的文件。使用此文件连接管理器进行日志记录。
我是 SSIS 的新手,我已经为文本文件设计了一个包并配置了 SSIS 日志提供程序。 这工作正常并且日志文件已成功生成。
我们有一个监控团队,他们使用这个日志文件进行监控。他们无法读取日志文件,因为文件编码是 Unicode 格式。 他们期望使用非 unicode 格式进行监控。
我试图将现有的日志文件编码更改为 ANSI,但是当我重新运行 包时,我的日志文件已使用 UNICODE 编码再次创建。
我们是否可以使用 SSIS 日志提供程序为非 unicode 编码的文本文件创建日志文件。请建议我任何解决方法。这两天一直找不到解决办法
正在尝试找出问题所在
由于 文本文件的 SSIS 日志提供程序 使用 文件连接管理器 进行日志记录,您无法选择编辑SSIS 包中的文件编码,因为这种类型的连接管理器 can be used for different files format (excel, text ...).
在搜索此问题时,如果日志是由 SSIS 首次创建,它将写入 unicode 数据。
- why are my log files getting generated with a space between every two characters?
- Why is my SSIS text logfile formatted in this way?
可能的解决方法
尝试使用记事本创建一个空文本文件并使用 ANSI 编码保存。
然后 select 来自 SSIS 日志记录配置的文件。
其他有用的链接
更新 1 - 实验
为了测试我提供的解决方法,我有 运行 以下实验:
- 我添加了 SSIS 日志记录并创建了一个新的日志文件
- 执行包后,文件以 Unicode 创建 (检查我是否使用记事本打开文件并单击
Save As
,组合框中显示的编码是Unicode
) - 我使用记事本创建了一个新文件,并使用上面提到的
Ansi
编码保存它。 - 在 SSIS 中,我将文件连接管理器从
Create New
更改为Use Existing
,并且我 select 编辑了我创建的文件
- 执行包后,日志被填充到文件中,编码仍然是
Ansi
- 我重复执行了几次包,撤消不会改变。
TL DR: 在 ssis 包外用 ANSI
编码创建一个文件,在包内创建一个文件连接管理器,select Use Existing
选项并选择创建的文件。使用此文件连接管理器进行日志记录。