我来自印度尼西亚,我不会说英语
我计划运行postgresql二进制与我的项目(与JAVA)运行服务器postgresql,我有2种方式:1.使用 *.bat文件2.包含在我的java项目中
当我运行 *.bat文件时,我得到新的Windows错误消息“程序无法启动,因为MSVCR120.dll从您的计算机中丢失.....”
但如果我运行我的java项目,我没有得到新的windows错误消息,但服务器没有运行。
那么,我如何使用Java项目显示或捕获新Windows错误消息
或者我如何检查MSVCR120.dll是否未丢失
我有运行postgresql服务器源代码:
//jika pertama kali dijalankan (folder data tidak ada)
System.out.println("Firs Time Run");
ProcessBuilder pb = new ProcessBuilder(PathAplication.PostgreBinPath + "\\initdb",
"-U", PG_USER_ROOT, "-A", "trust", "-E", "utf8", "--locale=C");
Map<String, String> env = pb.environment();
env.put("PGDATA", PathAplication.PostgreDataPath);
env.put("PGDATABASE", PG_DATABASE_ROOT);
env.put("PGUSER",PG_USER_ROOT);
env.put("PGPORT",PG_PORT);
try {
Process p = pb.start();
InputStream is = p.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String line;
boolean started = false;
while(!started && (line = reader.readLine()) != null){
System.out.println(line);
started = line.contains("database system is ready to accept connections");
}
RunServer();
} catch (IOException ex) {
Logger.getLogger(FrameRunCommandLine.class.getName()).log(Level.SEVERE, null, ex);
}
谢谢之前...
2条答案
按热度按时间ctehm74n1#
您还需要安装x86版本的MSVC可再发行软件包。
我发现即使安装了x64版本的MSVC可再发行版,SysWOW64目录中的 msvcp120.dll 文件也不见了。安装了x86版本后,问题得到了解决。
注意:即使您使用的是x64
wvyml7n52#
我还将补充有必要下载2013版https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170#visual-studio-2013-vc-120