[转]sp_OACreate WriteLine Writing nvarchar 中文汉字 非乱码to a text file
本文转自:https://stackoverflow.com/questions/48135889/writing-nvarchar-to-a-text-file
According to the Scripting.FileSystemObject documentation, the CreateTextFile
method takes a Boolean value to create a Unicode file. You could change the T-SQL code to use that method instead of OpenTextFile
.
EDIT:
Below is an example using OpenTextFile
per Tom's comment. I change the iomode value in your original code from 1 to 8 to match the documentation and added the close and destroy in case your full code is missing those important tasks.
DECLARE @OLE INT; DECLARE @FileId INT; DECLARE @File VARCHAR(max) = 'c:\test.txt'; DECLARE @Text NVARCHAR(max) = N'من نمایش داده نمیشم'; EXECUTE sp_OACreate 'Scripting.FileSystemObject',@OLE OUT; EXECUTE sp_OAMethod @OLE, 'OpenTextFile', @FileId OUT, @File,8,1,-1; EXECUTE sp_OAMethod @FileId, 'WriteLine', Null, @Text; EXECUTE sp_OAMethod @FileId, 'Close'; EXECUTE sp_OADestroy @FileId OUT; EXECUTE sp_OADestroy @OLE OUT;
posted on 2018-06-01 16:09 freeliver54 阅读(422) 评论(0) 编辑 收藏 举报