SQL Server:文本数据类型不支持代码页转换

发布于 2024-08-15 03:47:31 字数 497 浏览 10 评论 0原文

使用 ADO 将文本插入 SQL Server 中的 TEXT 列时,出现错误:

文本数据类型不支持代码页转换。从:1257 到:1252。

现在我确实将 Windows 代码页更改为 1257(爱沙尼亚语)。

我的问题是:SQL Server 如何知道我正在运行什么代码页?

发送到服务器和从服务器发送的所有字符串都作为宽(unicode)字符串发送。在服务器上,SQL Server 被迫将 unicode 字符串填充到 TEXT(而不是 NTEXT)列中。文本列设置为使用排序规则代码页1252

源字符串中没有 Windows 1252 代码页之外的字符。即使有,SQL Server 如何知道我正在运行代码页1257

我尝试分析我与 SQL Server 的连接,但没有看到客户端与服务器识别其代码页的任何内容。

When inserting text into a TEXT column in SQL Server using ADO, i get the error:

Code page translations are not supported for the text data type. From: 1257 To: 1252.

Now it is true that i've changed my Windows code page to 1257 (Estonian).

My question is: How does SQL Server know what code page i'm running in?

All strings sent to and from the server are sent as wide (unicode) strings. At the server, SQL Server is then forced to stuff the unicode string into a TEXT (not NTEXT) column. The text column is set to use collation code page 1252.

There are no characters in the source string that are outside of the Windows 1252 code page. Even if there were, how does SQL Server know i'm running code page 1257?

i've tried profiling my connection to SQL Server, and i see nothing that looks like the client identifying its code page with the server.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

来世叙缘 2024-08-22 03:47:31

我希望我的说法不正确,这是 SP3 之前的 SQL Server 2000...

在 SP3 中已修复,请参阅 知识库 317956

I hope I'm not correct and this is pre-SP3 SQL Server 2000...

Fixed in SP3, see KB 317956

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文