Hướng dẫn can you use mysql with oracle? - bạn có thể sử dụng mysql với oracle không?

Chương này thảo luận về trình điều khiển thư viện máy khách MySQL cho cơ sở dữ liệu Oracle và việc sử dụng nó trong các ứng dụng di chuyển từ MySQL sang Oracle.

Chương này bao gồm những chủ đề sau:

  • Giới thiệu về Trình điều khiển thư viện máy khách MySQL cho Oracle

  • Tổng quan về di chuyển với trình điều khiển thư viện máy khách MySQL cho Oracle

  • Sử dụng trình điều khiển thư viện máy khách MySQL cho Oracle

Giới thiệu về Trình điều khiển thư viện máy khách MySQL cho Oracle

Tổng quan về di chuyển với trình điều khiển thư viện máy khách MySQL cho Oraclec Release 1, liboramysql, is a drop-in replacement for MySQL Commercial Connector/C 6.0 client library. The liboramysql driver implements a similar API, enabling C-based applications and tools developed for MySQL to connect to Oracle Database. The driver may be used to migrate applications from MySQL to Oracle Database with minimal changes to the application code.

Sử dụng trình điều khiển thư viện máy khách MySQL cho Oracle

Trình điều khiển thư viện máy khách MySQL cho cơ sở dữ liệu Oracle 12C Phát hành 1, liboramysql, là một sự thay thế thả vào cho Thư viện máy khách đầu nối thương mại MySQL/C 6.0. Trình điều khiển liboramysql thực hiện API tương tự, cho phép các ứng dụng và công cụ dựa trên C được phát triển để MySQL kết nối với cơ sở dữ liệu Oracle. Trình điều khiển có thể được sử dụng để di chuyển các ứng dụng từ cơ sở dữ liệu MySQL sang Oracle với các thay đổi tối thiểu đến mã ứng dụng.

Trình điều khiển liboramysql sử dụng giao diện Oracle Call (OCI) để kết nối với cơ sở dữ liệu Oracle.

c = mysql_init(NULL);
mysql_real_connect(c, "myhost", "myun", "mypw", "mydb", 0, NULL, 0);
mysql_query(c, "insert into mytable values (1,2)");
mysql_close(c);

Đoạn mã C trong ví dụ 6-1 trình bày cách kết nối với MySQL và cách chèn một hàng vào bảng. Sau khi cập nhật thông tin đăng nhập kết nối, mã này có thể chạy không thay đổi đối với cơ sở dữ liệu của Oracle khi thực thi được liên kết bằng thư viện liboramysql, thay vì thư viện ____10.

Ví dụ 6-1 Kết nối với MySQL và chèn một hàng mới

Mặc dù lược đồ và dữ liệu cơ sở dữ liệu phải được di chuyển thành Oracle một cách riêng biệt và mặc dù thư viện liboramysql không dịch các câu lệnh SQL, lượng nỗ lực đáng kể được bảo tồn khi chuyển sang cơ sở dữ liệu Oracle vì không có thay đổi nào được thực hiện đối với mã ứng dụng.

Các ứng dụng C tùy chỉnh có thể sử dụng thư viện liboramysql để dễ dàng chuyển sang cơ sở dữ liệu Oracle.

Cài đặt và sử dụng đầu tiên của Trình điều khiển thư viện máy khách MySQL cho Oracle

Trình điều khiển thư viện máy khách MySQL cho Oracle được cung cấp dưới dạng tệp trong thư viện chia sẻ

$ ldd yourprogram
...
libmysqlclient.so.16 => /usr/lib/libmysqlclient.so.16 (0x00007f9004e7f000)
...
3 cho Linux và là Thư viện liên kết động
$ ldd yourprogram
...
libmysqlclient.so.16 => /usr/lib/libmysqlclient.so.16 (0x00007f9004e7f000)
...
4 (DLL) cho Windows. Trình điều khiển cũng được đóng gói như một phần của các gói
$ ldd yourprogram
...
libmysqlclient.so.16 => /usr/lib/libmysqlclient.so.16 (0x00007f9004e7f000)
...
5 và
$ ldd yourprogram
...
libmysqlclient.so.16 => /usr/lib/libmysqlclient.so.16 (0x00007f9004e7f000)
...
6 của Oracle để tải xuống từ OTN. Xem
$ ldd yourprogram
...
libmysqlclient.so.16 => /usr/lib/libmysqlclient.so.16 (0x00007f9004e7f000)
...
7 và
$ ldd yourprogram
...
libmysqlclient.so.16 => /usr/lib/libmysqlclient.so.16 (0x00007f9004e7f000)
...
8.

Tổng quan về di chuyển với trình điều khiển thư viện máy khách MySQL cho Oracle

Sử dụng trình điều khiển thư viện máy khách MySQL cho Oracle

  1. Trình điều khiển thư viện máy khách MySQL cho cơ sở dữ liệu Oracle 12C Phát hành 1, liboramysql, là một sự thay thế thả vào cho Thư viện máy khách đầu nối thương mại MySQL/C 6.0. Trình điều khiển liboramysql thực hiện API tương tự, cho phép các ứng dụng và công cụ dựa trên C được phát triển để MySQL kết nối với cơ sở dữ liệu Oracle. Trình điều khiển có thể được sử dụng để di chuyển các ứng dụng từ cơ sở dữ liệu MySQL sang Oracle với các thay đổi tối thiểu đến mã ứng dụng.

    Trình điều khiển liboramysql sử dụng giao diện Oracle Call (OCI) để kết nối với cơ sở dữ liệu Oracle.

  2. Đoạn mã C trong ví dụ 6-1 trình bày cách kết nối với MySQL và cách chèn một hàng vào bảng. Sau khi cập nhật thông tin đăng nhập kết nối, mã này có thể chạy không thay đổi đối với cơ sở dữ liệu của Oracle khi thực thi được liên kết bằng thư viện liboramysql, thay vì thư viện ____10.

    $ ln -s $ORACLE_HOME/lib/liboramysql12.so $ORACLE_HOME/lib/libmysqlclient.so.16
    
    9 library with the
    $ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
    
    0 library.

    Ví dụ 6-1 Kết nối với MySQL và chèn một hàng mới

  3. Mặc dù lược đồ và dữ liệu cơ sở dữ liệu phải được di chuyển thành Oracle một cách riêng biệt và mặc dù thư viện liboramysql không dịch các câu lệnh SQL, lượng nỗ lực đáng kể được bảo tồn khi chuyển sang cơ sở dữ liệu Oracle vì không có thay đổi nào được thực hiện đối với mã ứng dụng.

    Các ứng dụng C tùy chỉnh có thể sử dụng thư viện liboramysql để dễ dàng chuyển sang cơ sở dữ liệu Oracle.

    Cài đặt và sử dụng đầu tiên của Trình điều khiển thư viện máy khách MySQL cho OracleOracle SQL Developer User's Guide for further details.

  4. Trình điều khiển thư viện máy khách MySQL cho Oracle được cung cấp dưới dạng tệp trong thư viện chia sẻ

    $ ldd yourprogram
    ...
    libmysqlclient.so.16 => /usr/lib/libmysqlclient.so.16 (0x00007f9004e7f000)
    ...
    
    3 cho Linux và là Thư viện liên kết động
    $ ldd yourprogram
    ...
    libmysqlclient.so.16 => /usr/lib/libmysqlclient.so.16 (0x00007f9004e7f000)
    ...
    
    4 (DLL) cho Windows. Trình điều khiển cũng được đóng gói như một phần của các gói
    $ ldd yourprogram
    ...
    libmysqlclient.so.16 => /usr/lib/libmysqlclient.so.16 (0x00007f9004e7f000)
    ...
    
    5 và
    $ ldd yourprogram
    ...
    libmysqlclient.so.16 => /usr/lib/libmysqlclient.so.16 (0x00007f9004e7f000)
    ...
    
    6 của Oracle để tải xuống từ OTN. Xem
    $ ldd yourprogram
    ...
    libmysqlclient.so.16 => /usr/lib/libmysqlclient.so.16 (0x00007f9004e7f000)
    ...
    
    7 và
    $ ldd yourprogram
    ...
    libmysqlclient.so.16 => /usr/lib/libmysqlclient.so.16 (0x00007f9004e7f000)
    ...
    
    8.

    Trình điều khiển phải được cài đặt trong cùng thư mục với thư viện chia sẻ ứng dụng khách Oracle, nghĩa là

    $ ldd yourprogram
    ...
    libmysqlclient.so.16 => /usr/lib/libmysqlclient.so.16 (0x00007f9004e7f000)
    ...
    
    9 cho Linux và
    $ ln -s $ORACLE_HOME/lib/liboramysql12.so $ORACLE_HOME/lib/libmysqlclient.so.16
    
    0 cho Windows. Thông thường, bạn phải đặt biến môi trường hệ điều hành (
    $ ln -s $ORACLE_HOME/lib/liboramysql12.so $ORACLE_HOME/lib/libmysqlclient.so.16
    
    1 trên Linux hoặc
    $ ln -s $ORACLE_HOME/lib/liboramysql12.so $ORACLE_HOME/lib/libmysqlclient.so.16
    
    2 trên Windows) để bao gồm thư mục cài đặt này.

    Đối với cài đặt

    $ ln -s $ORACLE_HOME/lib/liboramysql12.so $ORACLE_HOME/lib/libmysqlclient.so.16
    
    3, thư viện trình điều khiển được cài đặt trong thư mục
    $ ln -s $ORACLE_HOME/lib/liboramysql12.so $ORACLE_HOME/lib/libmysqlclient.so.16
    
    4 cho Linux và thư mục
    $ ln -s $ORACLE_HOME/lib/liboramysql12.so $ORACLE_HOME/lib/libmysqlclient.so.16
    
    5 cho Windows. Đối với các tệp zip máy khách tức thì, thư viện nằm trong thư mục
    $ ln -s $ORACLE_HOME/lib/liboramysql12.so $ORACLE_HOME/lib/libmysqlclient.so.16
    
    6. Đối với cài đặt RPM của máy khách tức thì, thư viện nằm trong thư mục
    $ ln -s $ORACLE_HOME/lib/liboramysql12.so $ORACLE_HOME/lib/libmysqlclient.so.16
    
    7 hoặc
    $ ln -s $ORACLE_HOME/lib/liboramysql12.so $ORACLE_HOME/lib/libmysqlclient.so.16
    
    8 trên các nền tảng Linux 32 bit và 64 bit, tương ứng.

  5. Di chuyển ứng dụng MySQL dựa trên C sang cơ sở dữ liệu Oracle liên quan đến các bước sau:

    Xác nhận rằng ứng dụng chạy chống lại cơ sở dữ liệu MySQL.

  6. Điều này đảm bảo rằng quá trình di chuyển bắt đầu tại một cơ sở chức năng đã biết.

    Thay thế thư viện

    $ ln -s $ORACLE_HOME/lib/liboramysql12.so $ORACLE_HOME/lib/libmysqlclient.so.16
    
    9 bằng thư viện
    $ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
    
    0.

Sử dụng trình điều khiển thư viện máy khách MySQL cho Oracle

Trình điều khiển thư viện máy khách MySQL cho cơ sở dữ liệu Oracle 12C Phát hành 1, liboramysql, là một sự thay thế thả vào cho Thư viện máy khách đầu nối thương mại MySQL/C 6.0. Trình điều khiển liboramysql thực hiện API tương tự, cho phép các ứng dụng và công cụ dựa trên C được phát triển để MySQL kết nối với cơ sở dữ liệu Oracle. Trình điều khiển có thể được sử dụng để di chuyển các ứng dụng từ cơ sở dữ liệu MySQL sang Oracle với các thay đổi tối thiểu đến mã ứng dụng.

Trình điều khiển liboramysql sử dụng giao diện Oracle Call (OCI) để kết nối với cơ sở dữ liệu Oracle.

Xem Chương 7, "Tài liệu tham khảo API cho Trình điều khiển thư viện máy khách Oracle MySQL" để biết chi tiết về ánh xạ kiểu dữ liệu và khả năng tương thích API. Thông tin bổ sung cũng có thể được tìm thấy trong Hướng dẫn sử dụng nhà phát triển Oracle SQL.Oracle SQL Developer User's Guide.

Trình điều khiển liboramysql không dịch các câu lệnh SQL. Bạn phải viết lại các câu lệnh không hợp lệ cho cơ sở dữ liệu Oracle. Bạn có thể làm điều này trực tiếp trong ứng dụng hoặc bằng cách sử dụng Trình dịch SQL. Lược đồ ứng dụng và dữ liệu cũng phải được di chuyển riêng. Nhà phát triển Oracle SQL tự động hóa quá trình này.

Bất cứ khi nào kết nối OCI phiên bản chéo tồn tại cho các phiên bản cũ hơn của cơ sở dữ liệu Oracle, bạn có thể sử dụng trình điều khiển liboramysql để kết nối với các phiên bản cũ hơn này.

Các phần sau đây thảo luận về các chủ đề này:

  • Liên kết lại ứng dụng với trình điều khiển liboramysql

  • Kết nối với cơ sở dữ liệu Oracle

  • Nền tảng được hỗ trợ

  • Xử lý lỗi

  • Toàn cầu hóa

  • Sự khác biệt mong đợi

Liên kết lại ứng dụng với trình điều khiển liboramysql

Kết nối với cơ sở dữ liệu Oracle

Nền tảng được hỗ trợ

Xử lý lỗi

  • Toàn cầu hóa

    $ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
    
    0 library.

    Sự khác biệt mong đợi

  • Bước cơ bản của việc sử dụng thư viện liboramysql là để liên kết lại ứng dụng để sử dụng thư viện mới. Thư viện liboramysql tương thích với thư viện

    # mv /usr/lib64/libmysqlclient.so.16 /usr/lib64/libmysqlclient.so.16.backup
    # ln -s $ORACLE_HOME/lib/liboramysql12.so /usr/lib64/libmysqlclient.so.16
    
    2 từ gói đầu nối thương mại MySQL/C 6.0.2, do đó bạn phải xây dựng và xác minh các ứng dụng nhạy cảm với phiên bản với Trình kết nối thương mại MySQL/C 6.0.2 trước khi chuyển sang cơ sở dữ liệu Oracle.
    $ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
    
    0 library to emulate a MySQL Commercial Connector/C directory

    Các tập lệnh cài đặt của phần mềm công cộng được tổng hợp từ mã nguồn thường mong đợi các thành phần MySQL tuân theo cấu trúc thư mục hệ thống được xác định trước. Bạn có thể sử dụng tập lệnh

    # mv /usr/lib64/libmysqlclient.so.16 /usr/lib64/libmysqlclient.so.16.backup
    # ln -s $ORACLE_HOME/lib/liboramysql12.so /usr/lib64/libmysqlclient.so.16
    
    3 trong thư mục
    # mv /usr/lib64/libmysqlclient.so.16 /usr/lib64/libmysqlclient.so.16.backup
    # ln -s $ORACLE_HOME/lib/liboramysql12.so /usr/lib64/libmysqlclient.so.16
    
    4 của SDK khách hàng tức thời để đạt được điều này.

  • Tùy thuộc vào ứng dụng, bạn có thể sử dụng một hoặc nhiều cách sau để liên kết lại ứng dụng với thư viện liboramysql:

    mysql_real_connect(c, "localhost/pdborcl", "myun", "mypw", NULL, 0, NULL, 0);
    
    0 environment variable.

    Xây dựng trực tiếp với thư viện

    $ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
    
    0.

  • Bạn có thể cập nhật các tập lệnh xây dựng của mình để sử dụng thư viện liboramysql và xây dựng các ứng dụng tùy chỉnh trực tiếp với thư viện Oracle này.

    $ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
    
    0 library.

    Sử dụng thư viện

    $ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
    
    0 để mô phỏng thư mục CUNCER/C thương mại MySQL

    1. Thư viện

      # mv /usr/lib64/libmysqlclient.so.16 /usr/lib64/libmysqlclient.so.16.backup
      # ln -s $ORACLE_HOME/lib/liboramysql12.so /usr/lib64/libmysqlclient.so.16
      
      3 trong SDK máy khách tức thì cho thấy cấu trúc thư mục mô phỏng cài đặt đầu nối thương mại/c của MySQL có thể được tạo. Bạn có thể xây dựng các ứng dụng bằng thư mục mô phỏng này.

      $ ldd yourprogram
      ...
      libmysqlclient.so.16 => /usr/lib/libmysqlclient.so.16 (0x00007f9004e7f000)
      ...
      
    2. Sử dụng biến môi trường

      mysql_real_connect(c, "localhost/pdborcl", "myun", "mypw", NULL, 0, NULL, 0);
      
      0.

      $ ln -s $ORACLE_HOME/lib/liboramysql12.so $ORACLE_HOME/lib/libmysqlclient.so.16
      
    3. Các chương trình được cấu hình sẵn có thể sử dụng biến môi trường

      mysql_real_connect(c, "localhost/pdborcl", "myun", "mypw", NULL, 0, NULL, 0);
      
      1 để liên kết với thư viện liboramysql. Tuy nhiên, việc thay đổi giá trị của biến môi trường này có thể không hoạt động nếu chương trình sử dụng phương thức
      mysql_real_connect(c, "localhost/pdborcl", "myun", "mypw", NULL, 0, NULL, 0);
      
      3.

      $ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
      
  • Sao chép thư viện

    $ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
    
    0.

    Thực hiện các bước sau để đổi tên thư viện liboramysql thành tên thư viện máy khách MySQL được sử dụng bởi ứng dụng:

    # mv /usr/lib64/libmysqlclient.so.16 /usr/lib64/libmysqlclient.so.16.backup
    # ln -s $ORACLE_HOME/lib/liboramysql12.so /usr/lib64/libmysqlclient.so.16
    

Sử dụng lệnh

mysql_real_connect(c, "localhost/pdborcl", "myun", "mypw", NULL, 0, NULL, 0);
6 để xác định thư viện MySQL mà ứng dụng được liên kết:

Kết nối với cơ sở dữ liệu Oracle

Nền tảng được hỗ trợ

mysql_real_connect(c, "localhost/pdborcl", "myun", "mypw", NULL, 0, NULL, 0);

Nền tảng được hỗ trợ

Xử lý lỗi

Toàn cầu hóa

Xử lý lỗi

Toàn cầu hóa

Toàn cầu hóa

Sự khác biệt mong đợi

Sự khác biệt mong đợi

Bước cơ bản của việc sử dụng thư viện liboramysql là để liên kết lại ứng dụng để sử dụng thư viện mới. Thư viện liboramysql tương thích với thư viện

# mv /usr/lib64/libmysqlclient.so.16 /usr/lib64/libmysqlclient.so.16.backup
# ln -s $ORACLE_HOME/lib/liboramysql12.so /usr/lib64/libmysqlclient.so.16
2 từ gói đầu nối thương mại MySQL/C 6.0.2, do đó bạn phải xây dựng và xác minh các ứng dụng nhạy cảm với phiên bản với Trình kết nối thương mại MySQL/C 6.0.2 trước khi chuyển sang cơ sở dữ liệu Oracle.

Tôi có cần một tài khoản Oracle để sử dụng MySQL không?

Trước khi bạn đăng nhập để đăng nhập, bạn sẽ cần một tài khoản đám mây công khai Oracle với dịch vụ đám mây MySQL được kích hoạt.Liên kết với một tài khoản như vậy sẽ là: một trung tâm dữ liệu.Một miền nhận dạng.you'll need an Oracle Public Cloud account with the MySQL Cloud Service activated. Associated with such an account will be: A Data center. An Identity domain.

Oracle MySQL và MySQL có giống nhau không?

MySQL và Oracle SQL đều là RDBMS (Hệ thống quản lý cơ sở dữ liệu quan hệ) thuộc sở hữu của Oracle Corporation.MySQL được xây dựng để chủ yếu là miễn phí và nguồn mở, trong khi Oracle chủ yếu được xây dựng để thương mại và trả tiền.MySQL cũng có thể tùy chỉnh hơn Oracle vì Oracle là một sản phẩm hoàn chỉnh.. MySQL is built to be primarily free and open-source, while Oracle is primarily built to be commercial and paid. MySQL is also more customizable than Oracle which is because Oracle is a finished product.

Bạn có thể sử dụng SQL với Oracle không?

SQL để truy cập, xác định và duy trì dữ liệu Oracle SQL cung cấp một kiến trúc hiệu suất dễ dàng, thanh lịch, để truy cập, xác định và duy trì dữ liệu.Sử dụng SQL với Oracle và PHP, Java, Python, .NET, Hadoop, Node.Use SQL with Oracle and PHP, Java, Python, . NET, Hadoop, Node.