`
cywhoyi
  • 浏览: 418218 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ubuntu server下python脚本迁移数据

阅读更多

因为是在Ubuntu下,所以安装python、pip、pymysql等都极其方便,sudo apt-get install pymysql,

但是在安装cx_Oracle(连接oracle的模块)出现许多问题,查阅相关资料,发现这边文章能够帮我解决,希望大家少走点弯路。http://www.tbdazhe.com/archives/602

1.安装python

2.安装pip、pymysql、cx_oracle

3.import module

主要这次我想通过python脚本,定时把数据从oracle库导入mysql库

__author__ = 'young'
# coding=UTF-8
import os

os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'

import cx_Oracle
# 导入pymysql的包
import pymysql


def synctask():
    '''Hello cx_Oracle示例:

    1)打印数据库版本信息.
    2)查询表数据.'''

    conn = cx_Oracle.connect("username/password@ip:1522/health")
    cur = conn.cursor()

    # 获取一个数据库连接,注意如果是UTF-8类型的,需要制定数据库
    conn_mysql = pymysql.connect(host='ip', user='smart', passwd='smart', db='smart', port=3306,
                                 charset='utf8')
    cur_mysql = conn_mysql.cursor()  # 获取一个游标
    try:
        cur_mysql.execute("insert into user(name) values('123')")
        print "Oracle Version:%s" % conn.version
        print "Table test rows:"
        sql = 'SELECT *  FROM t_user where pat_id < 2000 order by pat_id'
        cur.execute(sql)
        for row in cur:
            print row[1].decode('utf-8')
            data = row[1].decode('utf-8')

    finally:
        conn_mysql.commit()
        conn.commit()
        conn_mysql.close()
        cur_mysql.close()
        cur.close()
        conn.close()


synctask()

 ubuntu下kettle的配置

1. 把pdi-ce-5.2.0.0-209.zip包到指定目录,unzip解压到
sudo  unzip pdi-ce-5.2.0.0-209.zip /home/
2. 授予权限,data-integration目录下shell脚本
chmod +x *.sh
3.把oracle、mysql的jar包上传到data-integration/lib目录下
4.在data-integration 目录,键入“./kitchen.sh”回车,如果有帮助信息则表示kettle 环境部署成功
5.把在windows下搭建的kjb、ktr放入到制定目录,如
sudo mv sync_mysql.ktr sync_mysql.kjb /home/kettlejob/
6.需记得把kjb中使用ktr转换任务的路径配置成linux的目录
7.在data-integration 目录,执行一个kettle作业
sh kitchen.sh -file:/home/kettlejob/sync_mysql.kjb -level:Detailed
结论:
使用kettle比起我自己用python写脚本速度快得不止一倍,我表示还是kettle使用比较有效果。
1
3
分享到:
评论
1 楼 蔚蓝之天空 2015-01-16  
引用
[url][img]
引用
[/img][/url]

相关推荐

    Ubuntu下的绘图软件

    本文将介绍一些基于Ubuntu的绘图软件选择,以及如何利用Python脚本在其中进行编程扩展。 首先,我们来看看名为Dia的绘图软件,它在Ubuntu系统中拥有一个允许执行Python脚本的插件。这一功能使得用户可以编写Python...

    Ubuntu中c语言转Python.7z

    Python适用于快速开发、脚本编写、数据分析和人工智能等领域。它的可读性强,使得代码维护和团队协作更为便捷。但是,Python在性能上通常不如C语言,因为它需要解释器来执行。 在Ubuntu中,转换C语言到Python的过程...

    LVM-automation-using-python:使用python脚本自动化LVM概念

    **正文** 在Linux系统管理中,逻辑卷管理器(Logical Volume Manager, LVM)是一种强大的工具,它允许管理员动态地扩展、...通过学习和理解这些基本的Python脚本,你可以构建自己的LVM管理工具,满足各种定制化需求。

    python-2.7.2

    在 Linux 系统如 Ubuntu、CentOS 和 Fedora Core 中,Python 是一个重要的组件,用于编写脚本、自动化任务以及开发各种软件。 1. **Python 2与Python 3的区别** - Python 2.x 和 3.x 主要的区别在于语法、标准库和...

    python-2.7.2环境安装

    - 在命令行中,导航到包含Python脚本的目录并运行`python your_script.py`来执行代码。 Python 2.7.2虽然已不再维护,但仍有大量遗留项目依赖这个版本。理解如何安装和配置它对于维护这些项目至关重要。请注意,...

    基于Faster_RCNN网络模型的车辆、行人及交通信号目标检测算法python源码+数据集+项目报告+详细注释.zip

    基于Faster_RCNN网络模型的车辆、行人及交通信号目标检测算法python源码+数据集+项目报告+详细注释.zip ## 环境配置: * Python3.6/3.7/3.8 * Pytorch1.6(注意:必须是1.6.0或以上,因为使用官方提供的混合精度训练...

    Python入门安装和基础语法HM-AI

    - Python 2.x 和 3.x 版本间的兼容性问题,导致迁移成本较高。 #### 三、Python语言介绍 Python是一种跨平台的高级编程语言,支持解释性、编译性、互动性和面向对象编程。最初设计用于编写自动化脚本Shell,但随着...

    基于mindspore框架和GAN实现的漫画脸生成python源码+项目说明+模型.zip

    将其中的风格迁移模型U-GAT-IT的模型定义、训练和测试脚本改成了mindspore框架(具体包括**训练脚本**`./models/UGATIT_sadalin_hourglass.py`和**模型定义文件**`./models/ms/networks.py`),而数据预处理的部分...

    Vmware vSphere(一)安装vSphere client 以及 ubuntu

    通过vSphere Client或govc工具,你可以轻松地管理这些虚拟机,包括创建、克隆、迁移、监控性能和更新配置等操作。 总结,VMware vSphere提供了强大的虚拟化管理功能,而vSphere Client是其核心管理工具。在Ubuntu等...

    python毕业设计之基于爬虫的贵州菜价可视化系统源码.zip

    本项目是一个基于Python的毕业设计,具体为一个利用爬虫技术获取贵州菜价数据,并通过可视化展示的系统。系统采用Django框架构建后端,提供数据处理和接口服务,前端部分则负责展示数据和交互。下面将详细阐述该项目...

    openstack-nova计算节点一键安装脚本_openstack-nova_openstack_

    1. **安全**:在执行脚本前备份重要数据,防止数据丢失。 2. **定制化**:安装脚本可能不适合所有环境,可能需要根据实际需求进行调整。 3. **日志监控**:安装过程中密切关注日志,及时解决可能出现的问题。 4. **...

    使用python将mdb数据库文件导入postgresql数据库示例

    2. 将mdb文件复制到Linux系统中,并确保在Python脚本中更新mdb文件的路径。 3. 脚本中需要配置PostgreSQL服务器和数据库的相关参数,包括主机名、端口、用户名、密码以及目标数据库名。 4. 运行Python脚本。脚本的...

    使用手册1

    【使用手册1】这篇文档主要介绍了如何在Ubuntu操作系统上安装和配置一个爬虫项目,包括Python、数据库、依赖包的安装以及爬虫的使用。以下是详细的步骤和知识点: 1. **Python安装**: - 如果使用`apt`下载Python...

    搭建apachepythondjangoMySQLWeb开发环境.docx

    3. **测试mod_python**:在Apache的Web根目录创建一个Python脚本,如`test.py`,并验证通过浏览器访问是否能正确显示内容。 4. **安装Django**:使用`sudo apt-get install python-django`安装Django。首次使用时,...

    Ubuntu12.04配置KVM方法操作步骤20150901.pdf

    标题中的“Ubuntu12.04配置KVM方法操作步骤20150901.pdf”指的是在Ubuntu 12.04操作系统上安装和配置Kernel-based Virtual Machine(KVM)的详细过程。KVM是一款开源的虚拟化技术,允许用户在Linux系统上创建和运行...

    轻量应用服务器建站例程

    然后,通过`python manage.py collectstatic`收集静态文件,并运行`python manage.py migrate`来应用数据库迁移。 11. **启动服务**:配置服务脚本,如`systemd`单元文件,以使Django应用在服务器启动时自动运行。...

    Ubuntu16.04源码安装Mininet

    总的来说,通过源码安装Mininet,开发者可以在Ubuntu 16.04系统上快速构建和测试SDN网络,无论是简单的网络拓扑还是复杂的数据中心网络,都能在本地环境中进行模拟和验证,极大地促进了网络技术的研发和应用。

    MoinWiki配置说明[借鉴].pdf

    它具备跨平台性,支持Linux、Web、iOS、Android和Windows,并且采用易于迁移的数据保存格式,允许通过网络直接复制、粘贴数据,同时支持分类和标签进行数据索引。此外,MoinMoin还提供了协同工作的功能和便捷的分享...

    基于Linux的私有文件服务器(网盘).zip

    常见的Linux发行版如Ubuntu Server、CentOS、Debian等都适合搭建服务器环境。 2. **文件服务器软件**:常见的文件服务器软件有Samba、NFS(网络文件系统)、FTP服务器(如vsftpd)和WebDAV。Samba使得Linux服务器...

    django step by step

    - 在 Ubuntu 9.10 上安装 Python: ``` $ sudo aptitude install python ``` - **安装 Django**: - 继续在 Ubuntu 9.10 上安装 Django: ``` $ sudo aptitude install python-django ``` - **验证安装**: -...

Global site tag (gtag.js) - Google Analytics