You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级至Windows 10后MS Access XP连Oracle 9i含特殊字符记录显示#Deleted求助

Troubleshooting #Deleted Records with Special Characters (é/è) in Access XP on Windows 10

Hey there, let's work through this frustrating issue you're hitting after upgrading from Windows XP to 10. Legacy Access + Oracle setups in non-English environments often run into encoding mismatches, which is almost certainly what's causing those #Deleted entries for records with French special characters. Here's how to fix it step by step:

1. Fix the 32-bit ODBC Driver's Character Set Configuration

First, you must use the 32-bit ODBC Data Source Manager—Windows 10 defaults to the 64-bit version, which won't recognize your Oracle 9i 32-bit driver. Open it by navigating to C:\Windows\SysWOW64\odbcad32.exe.

Once open:

  • Locate your Oracle data source and click "Configure"
  • Look for the character set setting (usually labeled "NLS_LANG" or "Character Set")
  • Set it to match your Oracle database's character set and French locale:
    • If your DB uses ISO-8859-1 (common for older French setups), pick WE8ISO8859P1
    • If it uses Unicode, use AL32UTF8
  • Save the changes and test the connection again.

2. Disable Windows 10's UTF-8 Global Language Support

Windows 10 has a beta feature that forces UTF-8 for all apps, which breaks legacy 32-bit software like your Access XP/Oracle 9i combo:

  • Open Control Panel → Region → Administrative tab
  • Click "Change system locale..."
  • Uncheck the box labeled "Beta: Use Unicode UTF-8 for worldwide language support"
  • Restart your computer—this is critical for the change to take effect.

3. Ensure Access Field & Oracle Column Compatibility

Mismatched field types or lengths can also trigger #Deleted errors when special characters are involved:

  • In Access, verify that text fields linked to Oracle VARCHAR2 columns have matching lengths (e.g., if Oracle uses VARCHAR2(50), Access should use Text(50))
  • Confirm your French version of Access is set to use the correct locale: Go to File → Options → Language, and ensure "French (France)" is set as the default editing language.

4. Use Parameterized Queries Instead of Hardcoded SQL

If you're writing custom SQL, avoid hardcoding special characters directly—this can lead to encoding corruption in Windows 10. Instead, use parameterized queries to let Access handle the character encoding correctly:

PARAMETERS [NomDuChamp] Text(100);
SELECT * FROM VotreTable 
WHERE NomDuChamp = [NomDuChamp];

This way, when you input a value like Café, Access passes it to the Oracle driver without mangling the special characters.

5. Run Access XP in Windows XP Compatibility Mode

Legacy Office apps often behave better in compatibility mode:

  • Right-click your Access XP shortcut → Properties → Compatibility tab
  • Check "Run this program in compatibility mode for" and select "Windows XP (Service Pack 3)"
  • Also check "Run this program as an administrator" to avoid permission-related encoding issues.

Start with steps 1 and 2—those are the most common fixes for this exact scenario. If you still see #Deleted records, work through the rest of the list one by one.

内容的提问来源于stack exchange,提问作者antoine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:16:18