mysql - Windows 10 上的 Perl 到 mysql 连接
问题描述
我有一个在生产环境中工作的过程,我需要在本地 Windows 10 环境中工作。它是一个调用 mySql 存储过程的 Perl 脚本。
我已经从 Active State 安装了 ActivePerl 5.26.3(64 位)。当我尝试执行脚本时出现错误:
Can't locate DBD/mysql.pm (you may need to install the DBD::mysql module)...
所以,我去了https://metacpan.org/release/DBD-mysql并找到指示我需要执行以下操作的说明:
- perl -MCPAN -e 外壳
- 安装 DBD::mysql
但是,当我键入第一个命令时,我收到一条消息,说明:
看起来您没有安装 C 编译器和 make 实用程序。尝试使用 Perl 包管理器安装 dmake 和 MinGW gcc 编译器。这可能会需要几分钟....
然后它通过似乎是成功的安装。所以我输入第二个命令。它滚动了一段时间,但以:
Failed during this command
DVEEDEN/DBD-mysql-4.050.tar.gz: writemakefile NO 'C:\Perl64\bin\perl.exe MakeFile.PL INSTALLDIRS=site' returned status 512
不知道如何进行。
解决方案
对于 ActivePerl,使用他们的包管理器 PPM。
或者,使用 Strawberry Perl 获得更统一的体验。它附带了编译和安装模块的所有东西。
无论您使用哪种 Perl,在 Windows 或其他地方,模块通常都需要以相同的方式编译。混合编译器(例如 Visual Studio 和 gcc)或选项可能会导致不兼容的二进制文件。Perl 版本也可能发生同样的情况。这意味着对项目中的所有内容都使用相同的 Perl(和编译方法))。
该cpan
实用程序不会为您解决这些问题。它执行任何配置为执行的操作。
对于它的价值,cpan
安装模块的方法可以更简单:
$ cpan DBD::mysql
推荐阅读
- azure - 将 AAD 用于组织时,如何为独立的 Web 应用程序配置我的 AAD?
- kotlin - 如何避免在 kotlin 频道生产者中使用 sendBlocking?
- java - 为什么 java Class是通用的,但 Field 不是?
- list - Flutter,如何从 Firestore 获取相应索引项的图像 URL 并显示在列表视图中
- python - 如何知道您在 3.8 中构建的所有脚本是否适用于 3.4 python
- python-3.x - 用于烧瓶应用程序的 digitalocean ubuntu 16.0 中的 Letsencrypt ssl 安装问题
- java - 如何在java中退出scanner.hasNextLine()循环
- asp.net - 当在 web config 和 page 指令中设置维护scrollpositiononpostback 时,在 ASP.NET 中保持 .aspx 页面的滚动位置
- python - 无法连接到 cosmos db 模拟器 Mongo API 3.6
- exception - JMockit,如何模拟返回异常的方法,而不是抛出异常