我有一个windows 2016服务器操作系统和一个MSSQL 2017 DB。
我的桌子如下:
CREATE TABLE [dbo].[temp_table](
[varchar_250] [varchar](250) NULL,
[varchar_4000] [varchar](4000) NULL,
[varchar_max] [varchar](max) NULL,
[nvarchar_250] [nvarchar](250) NULL,
[nvarchar_4000] [nvarchar](4000) NULL,
[nvarchar_max] [nvarchar](max) NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]这张表有一行,所有单元格的值都是‘őőŐŐűűŰŰóúuúuéuéáááÁ’字符串。
我用Delphi编写了一个exe程序、一个简单的dll程序和一个isapi dll程序。所有程序都包括一个程序。此过程包含从temp_table读取的查询。之后,过程将值写入txt文件。
我的exe程序调用该过程:
在1-3中,结果总是如下:
列型varchar_250,值:őőŐŐűűŰŰúu
列型varchar_4000,值:őőŐŐűűŰŰúu
列型varchar_max,值:őőŐŐűűŰŰúu
列型nvarchar_250,值:őőŐŐűűŰŰúu
列型nvarchar_4000,值:őőŐŐűűŰŰúu
列型nvarchar_max,值:őőŐŐűűŰŰúu
但是,当我将isapi dll加载到浏览器中时,程序会生成文本文件,但是数据不正确:
列型varchar_250,值:őőŐŐűűŰŰúu
列型varchar_4000,值:őőŐŐűűŰŰúu
varchar_max柱型,值:ooOOuuUU(Á)
nvarchar_250柱型,值:ooOOuuUU(OoOOuuUU)
nvarchar_4000柱型,值:ooOOuuUU(Á)
nvarchar_max柱型,值:ooOOuuUU(OoOOuuUU)
在1-3种情况下,过程由我的用户调用,在最后一种情况下,过程由IIS调用。
最后一个案子有什么问题?
预先感谢您的帮助
发布于 2018-10-27 07:54:48
使您的varchar大小乘以2,因此varchar(250)将成为varchar(500)。不确定内部因素,但会解决问题。
https://stackoverflow.com/questions/52965277
复制相似问题