Access链接SQL Server库尔德语列显示#Deleted问题求解
解决MS Access链接SQL Server时库尔德语场景下某列显示#Deleted的问题
检查SQL Server列的字符集排序规则
- 确保对应列使用支持库尔德语的排序规则,比如
SQL_Kurdish_CP1254_CI_AS或Arabic_CI_AS(库尔德语常兼容阿拉伯语排序规则),避免默认Latin排序规则。 - 执行SQL命令修改列排序规则:
ALTER TABLE [表名] ALTER COLUMN [列名] [数据类型] COLLATE SQL_Kurdish_CP1254_CI_AS
- 确保对应列使用支持库尔德语的排序规则,比如
验证Access链接表的字符编码设置
- 打开Access,进入链接表管理器,选中问题表后点击属性
- 确认“Unicode压缩”选项已勾选,确保Access正确识别非拉丁语系字符
- 若链接表为旧版本创建,删除现有链接后重新链接SQL Server表,优先使用
ODBC Driver 17 for SQL Server驱动
调整系统区域与语言设置
- 将Windows系统“非Unicode程序的语言”设置为**库尔德语(伊拉克)**或对应库尔德语区域,避免字符编码转换冲突
- 重启Access和SQL Server服务后测试数据显示
检查列数据类型兼容性
- 确保SQL Server列使用
nvarchar/nchar这类Unicode类型存储库尔德语字符,避免varchar非Unicode类型 - 若原列为
varchar,执行修改命令:ALTER TABLE [表名] ALTER COLUMN [列名] nvarchar(长度) COLLATE SQL_Kurdish_CP1254_CI_AS
- 确保SQL Server列使用
排查ODBC驱动的字符集配置
- 打开ODBC数据源管理器,编辑对应SQL Server数据源
- 在“高级”选项卡中,将“字符集”设置为
UTF-8或编码1254 - 测试数据源连接后,重新链接Access表
内容的提问来源于stack exchange,提问作者Peshawa Rasull
相关产品推荐
相关产品推荐

