github / github/copilot-cli

Windows Copilot CLI repro: VFPOLEDB Execute fails with Class not registered, while the same query succeeds under VS Code

Abierto
#1,892 1 comentario 0 reacciones 0 asignados Ver en GitHub
area:platform-windows
Lenguaje dominante
Shell
Estrellas
11.2k
Forks
1.9k
Merge medio
14 h 16 min
PR fusionados (30 d)
6

Descripción

### Describe the bug

MCP server uses JDK 21 x86 + JACOB 1.21 x86 + VFPOLEDB 9.0.
The same legal VFPOLEDB SQL succeeds when the MCP server is hosted by VS Code, but fails when hosted by Copilot CLI.

### Affected version

_No response_

### Steps to reproduce the behavior

Repro examples that fail under Copilot CLI:
```
SELECT COUNT(*) AS cnt FROM patient
```
```
SELECT RECNO() AS recno, * FROM patient WHERE RECNO() <= 10
```
```
SELECT TOP 10 patient_id, patient_name FROM patient ORDER BY patient_id
```
Observed error:
```
Invoke of: Execute
Source: Provider
Description: Class not registered
```

### Expected behavior

_No response_

### Additional context

Diagnostics from the failing path show the runtime is already correct:
```
execution-context=helper-jvm
host-kind=copilot-cli
x86 / 32-bit JVM
ASCII user.dir
COMSPEC, TEMP, TMP present
VFPOLEDB CLSID present in 32-bit registry
InprocServer32 points to vfpoledb.dll
```
Representative excerpt:
```
execution-context=helper-jvm
host-kind=copilot-cli
os.arch=x86
sun.arch.data.model=32
user.dir=C:\Users\REDACTED\AppData\Local\dbf-mcp-runtime
user.dir.ascii?=true
COMSPEC=C:\Windows\System32\cmd.exe
TEMP=C:\Users\REDACTED\AppData\Local\Temp
TMP=C:\Users\REDACTED\AppData\Local\Temp
VFPOLEDB CLSID: view32=true, view64=false
ancestor-commands=java.exe -> java.exe -> copilot.exe -> pwsh.exe -> WindowsTerminal.exe
```
Also run a helper-side STA probe, and that fails with the same Execute error, so this does not look like a simple MTA vs STA issue.

At this point we have already ruled out:
```
SQL syntax as the root cause
DBF corruption
wrong JVM bitness
missing VFPOLEDB registration
Unicode cwd
missing TEMP, TMP, or COMSPEC
```
Current best hypothesis:
under the Copilot CLI host process tree on Windows, VFPOLEDB fails specifically in the Execute / rowset materialization path, likely due to host-context differences, permissions, or a secondary COM dependency triggered only in that host environment.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.