m0_57748717 2023-08-22 23:40 采纳率: 76.3%
浏览 9

mac用python远程导入dmp到数据库问题

目前有一台windows做数据库服务器用,装有oracle的客户端和数据库,因为出差比较多,目前的想法是用手上的macbook做终端工具,远程连接到windows里面的数据库,windows已做内网穿透,在出差时候也能用mac对windows数据库做查询等操作,但因为mac暂时没法装oracle客户端(不考虑docker等方法),本人想法是能不能用mac python的pywinrm库远程连接windows,调用cmd输入imp或exp等命令,达到远程导入dmp数据文件到windows的数据库中(dmp放在mac本地),请教各位这个方法可行吗?如果不可行的话有没有其他办法能完成“导入mac本地的dmp数据文件到windows的oracle数据库中”这么一个需求呢?

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-08-23 08:45
    关注

    【以下回答由 GPT 生成】

    首先,通过使用Python的pywinrm库来远程连接Windows是可行的。pywinrm是一个用于管理Windows机器的Python库,它支持远程执行命令和脚本,以及文件传输等功能。

    但是,使用pywinrm执行cmd命令来导入dmp文件到Windows数据库可能并不可行,因为cmd命令通常不直接支持执行数据库导入操作。在Oracle数据库中,导入dmp文件通常需要使用特定的工具或命令行实用程序,如impdpimp命令。

    解决你的问题,我会推荐使用以下方法来将Mac本地的dmp数据文件导入到Windows的Oracle数据库中:

    1. 在Mac上准备好你的dmp数据文件。

    2. 使用Oracle客户端工具expdp(expdp是Oracle 11g之后的新导出工具)将数据导出为dmp文件。例如,在Mac上打开终端,通过ssh远程连接到Windows服务器上的Oracle数据库,并使用expdp导出数据文件。以下是一个示例命令:

    expdp username/password@your_windows_server DUMPFILE=your_remote_dmp_file.dmp SCHEMAS=your_schema_name
    

    替换username/password为你的数据库用户名和密码,your_windows_server为Windows服务器地址,your_remote_dmp_file.dmp为在Windows服务器上创建的dmp文件名,your_schema_name为要导出的数据库模式名称。

    1. 在Mac上使用SCP或其他文件传输工具将dmp文件从Windows服务器复制到Mac本地。例如,在Mac上使用SCP命令:
    scp username@your_windows_server:/path/to/your_remote_dmp_file.dmp /path/to/your_local_dmp_file.dmp
    

    替换username为你的Windows服务器用户名,your_windows_server为Windows服务器地址,/path/to/your_remote_dmp_file.dmp为远程Windows服务器上的dmp文件路径,/path/to/your_local_dmp_file.dmp为将文件复制到的Mac本地目录。

    1. 将dmp文件导入到Windows的Oracle数据库。可以使用Oracle客户端工具impdp(expdp的导入版本)或SQL Developer等工具来执行导入操作。打开Windows服务器上的Oracle客户端,并使用相应的命令或工具导入dmp文件。

    以上是一种较为常规的方法,在Mac上通过远程连接和文件传输将dmp文件导入到Windows的Oracle数据库。使用此方法可以避免在Mac上安装Oracle客户端的问题。

    如果以上方法不适用于你的情况,你还可以考虑其他解决方案,如:

    • 使用其他支持跨平台的数据库工具或库,如cx_Oracle Python库。通过在Mac上安装并配置cx_Oracle库,你可以直接使用Python来连接Windows的Oracle数据库,并进行数据导入操作。

    • 将dmp文件转换为其他可用格式,如CSV或SQL脚本,并使用Python的库或工具来将数据导入到Windows的Oracle数据库。

    请注意,由于具体情况的差异,上述方法可能需要进行一些调整和适应性工作。建议你根据实际需要和环境进行相应的实验和测试,以找到最适合的解决方案。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 8月22日

悬赏问题

  • ¥15 汇编语言没有主程序吗?
  • ¥15 这个函数为什么会爆内存
  • ¥15 无法装系统,grub成了顽固拦路虎
  • ¥15 springboot aop 应用启动异常
  • ¥15 matlab有关债券凸性久期的代码
  • ¥15 lvgl v8.2定时器提前到来
  • ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
  • ¥15 cam_lidar_calibration报错
  • ¥15 拓扑学,凸集,紧集。。
  • ¥15 如何扩大AIS数据容量