求助:Windows Server 2019中用PowerShell配置MySQL ODBC Unicode驱动
解决Windows Server 2019中32位MySQL ODBC 5.2 Unicode驱动的PowerShell配置问题
修正后的完整配置脚本
# 定义AWS RDS端点地址 $rdsEndpoint = "rds.xxxxxxxxx.ap-south-1.rds.amazonaws.com" # 数据库登录凭证(建议后续改用安全方式存储,避免明文) $dbUsername = "your_db_user" $dbPassword = "your_db_password" # 添加并配置32位系统级ODBC数据源 Add-OdbcDsn -Name "DemoModel" ` -DriverName "MySQL ODBC 5.2 Unicode Driver" ` -DsnType "System" ` -Platform '32-bit' ` -SetPropertyValue @( "Server=$rdsEndpoint", "Uid=$dbUsername", "Pwd=$dbPassword", "Database=demo-v4", "AllowBigResultSets=1", "AutoReconnect=1", "AllowMultiQueries=1", "ReturnMatchingRows=1" )
核心修改与参数说明
- 修复RDS端点配置:原脚本中
Server=rds是字符串常量,改为引用变量Server=$rdsEndpoint,确保指向实际AWS RDS地址。 - 替换身份验证方式:AWS RDS不支持Windows信任连接(
Trusted_Connection=Yes),改用Uid(数据库用户名)和Pwd(数据库密码)进行身份验证。 - 启用指定连接参数:
AllowBigResultSets=1:对应「Allow big result sets」选项AutoReconnect=1:对应「Enable automatic reconnect」选项AllowMultiQueries=1:对应「Allow multiple statements」选项
- 配置游标/结果参数:
ReturnMatchingRows=1:对应「Return matched rows instead of affected rows」选项
重要注意事项
- 32位PowerShell环境:必须运行32位版本的PowerShell(路径:
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe),否则64位PowerShell无法识别32位ODBC驱动。 - 密码安全优化:避免明文存储密码,可改用
Get-Credential获取安全凭证:$dbCred = Get-Credential -Message "输入数据库用户名和密码" # 在SetPropertyValue中替换为: "Uid=$($dbCred.UserName)", "Pwd=$($dbCred.GetNetworkCredential().Password)" - 驱动存在性验证:可通过
Get-OdbcDriver -Platform '32-bit'命令,确认32位「MySQL ODBC 5.2 Unicode Driver」已正确安装。
内容的提问来源于stack exchange,提问作者Lakshminarayanan S
相关产品推荐
相关产品推荐

