使用AWS Lambda函数.Net连接到Microsoft Access数据库(.mdb)

问题描述 投票:0回答:1

我尝试使用以下代码进行连接,但AWS Lambda函数抛出错误。

using System.Data.OleDb;

OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=...");

con.Open();

错误:

System.Data.OleDb is not supported on this platform.: PlatformNotSupportedException
   at System.Data.OleDb.OleDbConnection..ctor(String connectionString)
   at AWSLambda1.Function.FunctionHandler(String input, ILambdaContext context) in C:\Users\TestUser\source\repos\AWSLambda1\AWSLambda1\Function.cs:line 35
   at lambda_method(Closure , Stream , Stream , LambdaContextInternal )

有人可以帮忙吗?如果Lambda Function不支持OleDb,那么您能给我展示一种连接到Microsoft Access数据库的方法吗?

提前感谢。

.net amazon-web-services ms-access aws-lambda oledb
1个回答
0
投票

这是否以x64位运行?不支持x64位运行过程的JET。

如果AWS支持JET,那么您将不得不将项目强制为x86(x32位)。这意味着您不能使用任何CPU,也不能对.net项目使用x64。您必须将项目强制为x32。但是,在该系统上运行的其余软件(包括Web服务器)可能以x64位运行。

如果您的Web服务器是x64,则必须使用x64位版本的JET数据引擎。 JET没有x64,但是有一个称为ACE的x64位版本,它可以读取mdb文件。因此,现在的问题是您在AWS上使用的容器是否支持JET,如果支持,则必须确保将.net项目强制编译为x32位。

© www.soinside.com 2019 - 2024. All rights reserved.