无法使用 C# AWS Lambda 函数连接到 SQL Server Express
Trouble connecting to SQL Server Express with a C# AWS Lambda function
尝试使用 System.Data.SqlClient
通过 AWS Lambda 连接到我的 SQL Server Express RDS 实例时出现以下错误:
"errorType": "PlatformNotSupportedException",
"errorMessage": "Operation is not supported on this platform.",
"stackTrace": [
"at System.Runtime.InteropServices.OSPlatform.get_Windows()",
"at System.Data.SqlClient.SNI.SNITCPHandle.d__22.MoveNext()"
]
我使用 Amazon.Lambda.Tools 构建部署包。 运行 函数和从本地连接到数据库工作正常,但在 AWS Lambda 上尝试 运行 它时失败。
这是我的 project.json
:
{
"version": "1.0.0-*",
"description": "AWS lambda Console Application",
"authors": [ "" ],
"packOptions": {
"tags": [],
"projectUrl": "",
"licenseUrl": ""
},
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
},
"Newtonsoft.Json": "9.0.1",
"Amazon.Lambda.Core": "1.0.0*",
"Amazon.Lambda.Serialization.Json": "1.0.1",
"Amazon.Lambda.Tools": {
"type": "build",
"version": "1.0.0-preview1"
},
"Dapper": "1.50.2",
"System.Data.SqlClient": "4.3.0"
},
"tools": {
"Amazon.Lambda.Tools": "1.0.0-preview1"
},
"commands": {
"AwsLambda": "run"
},
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
}
}
你能不能试试改一下
"System.Data.SqlClient": "4.3.0"
到
"System.Data.SqlClient": "4.1.0"
并更改
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
},
到
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.1"
},
有同样的问题,对我来说只是改变
"System.Data.SqlClient": "4.3.0"
至
"System.Data.SqlClient": "4.1.0"
对我有用。我不必更改 NetCore.App 依赖项。
明确添加对
的引用
"System.Data.SqlClient": "4.1.0",
"System.Runtime.InteropServices.RuntimeInformation": "4.0.0"
解决问题。
尝试使用 System.Data.SqlClient
通过 AWS Lambda 连接到我的 SQL Server Express RDS 实例时出现以下错误:
"errorType": "PlatformNotSupportedException",
"errorMessage": "Operation is not supported on this platform.",
"stackTrace": [
"at System.Runtime.InteropServices.OSPlatform.get_Windows()",
"at System.Data.SqlClient.SNI.SNITCPHandle.d__22.MoveNext()"
]
我使用 Amazon.Lambda.Tools 构建部署包。 运行 函数和从本地连接到数据库工作正常,但在 AWS Lambda 上尝试 运行 它时失败。
这是我的 project.json
:
{
"version": "1.0.0-*",
"description": "AWS lambda Console Application",
"authors": [ "" ],
"packOptions": {
"tags": [],
"projectUrl": "",
"licenseUrl": ""
},
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
},
"Newtonsoft.Json": "9.0.1",
"Amazon.Lambda.Core": "1.0.0*",
"Amazon.Lambda.Serialization.Json": "1.0.1",
"Amazon.Lambda.Tools": {
"type": "build",
"version": "1.0.0-preview1"
},
"Dapper": "1.50.2",
"System.Data.SqlClient": "4.3.0"
},
"tools": {
"Amazon.Lambda.Tools": "1.0.0-preview1"
},
"commands": {
"AwsLambda": "run"
},
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
}
}
你能不能试试改一下
"System.Data.SqlClient": "4.3.0"
到
"System.Data.SqlClient": "4.1.0"
并更改
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
},
到
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.1"
},
有同样的问题,对我来说只是改变
"System.Data.SqlClient": "4.3.0"
至
"System.Data.SqlClient": "4.1.0"
对我有用。我不必更改 NetCore.App 依赖项。
明确添加对
的引用"System.Data.SqlClient": "4.1.0",
"System.Runtime.InteropServices.RuntimeInformation": "4.0.0"
解决问题。