Estoy tratando de conectarme a una base de datos de Access con el paquete node-adodb de nuintun . Me conecté con éxito en mi computadora portátil en casa y creé un dist. paquete para instalarlo en mi computadora @ office. Sin embargo, después de instalarlo en la computadora portátil de mi oficina, aparece el siguiente mensaje de error durante la conexión a la base de datos de acceso.
cadena de conexión: "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=C:\\Temp\\Mdb.mdb;Persist Security Info=False;"
mensaje de error: Error: Spawn C:\WINDOWS\SysWOW64\cscript.exe error
Intenté varias configuraciones de conexión para resolver esto, pero no puedo hacerlo.
Con este método ( connection = ADODB.open(dbConn); ) Recibo el mensaje de error anterior.
Con esta connection = ADODB.open(dbConn, true) o esta connection=ADODB.open(process.arch.includes('64') o esta connection = ADODB.open(connection, 'x64') siguiente mensaje de error :
Error: Spawn C:\WINDOWS\System32\cscript.exe error
Cualquier ayuda apreciada.
Puede intentar instalar MS Access Database Engine y luego llamarlo desde su código a través de
Provider=Microsoft.ACE.OLEDB.16.0 (.....)https://www.microsoft.com/en-us/download/details.aspx?id=54920 . Me ayudó con el mismo problema que enfrenta ahora.
@Ozgun Senyuva, una cosa más... porque después de empaquetar descubrí un problema más que se resolvió según https://github.com/nuintun/node-adodb/blob/master/README-EN.md
Electron If you want to use this module in an electron app running from an asar package you'll need to make some changes. Move adodb.js outside the asar package (in this example I use electron-builder, the extraResources option can move the file outside the asar package) "extraResources": [ { "from": "./node_modules/node-adodb/lib/adodb.js", "to": "adodb.js" } ] Tell the module where to find adodb.js while running from an asar package (I added this in electron's main.js file) // Are we running from inside an asar package ? if (process.mainModule.filename.indexOf('app.asar') !== -1) { // In that case we need to set the correct path to adodb.js ADODB.PATH = './resources/adodb.js'; }¡Funciona como un encanto ahora!