我尝试使用以下代码进行连接,但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数据库的方法吗?
提前感谢。
这是否以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位。