ClickHouse/docs/tr/sql-reference/table-functions/odbc.md
Ivan Blinkov cd14f9ebcb
SQL reference refactoring (#10857)
* split up select.md

* array-join.md basic refactoring

* distinct.md basic refactoring

* format.md basic refactoring

* from.md basic refactoring

* group-by.md basic refactoring

* having.md basic refactoring

* additional index.md refactoring

* into-outfile.md basic refactoring

* join.md basic refactoring

* limit.md basic refactoring

* limit-by.md basic refactoring

* order-by.md basic refactoring

* prewhere.md basic refactoring

* adjust operators/index.md links

* adjust sample.md links

* adjust more links

* adjust operatots links

* fix some links

* adjust aggregate function article titles

* basic refactor of remaining select clauses

* absolute paths in make_links.sh

* run make_links.sh

* remove old select.md locations

* translate docs/es

* translate docs/fr

* translate docs/fa

* remove old operators.md location

* change operators.md links

* adjust links in docs/es

* adjust links in docs/es

* minor texts adjustments

* wip

* update machine translations to use new links

* fix changelog

* es build fixes

* get rid of some select.md links

* temporary adjust ru links

* temporary adjust more ru links

* improve curly brace handling

* adjust ru as well

* fa build fix

* ru link fixes

* zh link fixes

* temporary disable part of anchor checks
2020-05-15 07:34:54 +03:00

3.7 KiB
Raw Blame History

machine_translated machine_translated_rev toc_priority toc_title
true 72537a2d52 44 odbc

odbc

Üzerinden bağlanan tabloyu döndürür ODBC.

odbc(connection_settings, external_database, external_table)

Parametre:

  • connection_settings — Name of the section with connection settings in the odbc.ini Dosya.
  • external_database — Name of a database in an external DBMS.
  • external_table — Name of a table in the external_database.

ODBC bağlantılarını güvenli bir şekilde uygulamak için ClickHouse ayrı bir program kullanır clickhouse-odbc-bridge. ODBC sürücüsü doğrudan yüklenmişse clickhouse-server, sürücü sorunları ClickHouse sunucu çökmesine neden olabilir. ClickHouse otomatik olarak başlar clickhouse-odbc-bridge gerekli olduğunda. ODBC Köprüsü programı aynı paketten yüklenir clickhouse-server.

Alanları ile NULL dış tablodaki değerler, temel veri türü için varsayılan değerlere dönüştürülür. Örneğin, uzak bir MySQL tablo alanı INT NULL yazın 0'a dönüştürülür (ClickHouse için varsayılan değer Int32 veri türü).

Kullanım Örneği

ODBC üzerinden yerel MySQL kurulumundan veri alma

Bu örnek Ubuntu Linux 18.04 ve MySQL server 5.7 için kontrol edilir.

UnixODBC ve MySQL Connector yüklü olduğundan emin olun.

Varsayılan olarak (paketlerden yüklüyse), ClickHouse kullanıcı olarak başlar clickhouse. Bu nedenle, bu kullanıcıyı MySQL sunucusunda oluşturmanız ve yapılandırmanız gerekir.

$ sudo mysql
mysql> CREATE USER 'clickhouse'@'localhost' IDENTIFIED BY 'clickhouse';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'clickhouse'@'clickhouse' WITH GRANT OPTION;

Sonra bağlantıyı yapılandırın /etc/odbc.ini.

$ cat /etc/odbc.ini
[mysqlconn]
DRIVER = /usr/local/lib/libmyodbc5w.so
SERVER = 127.0.0.1
PORT = 3306
DATABASE = test
USERNAME = clickhouse
PASSWORD = clickhouse

Kullanarak bağlantıyı kontrol edebilirsiniz isql unixodbc yüklemesinden yardımcı program.

$ isql -v mysqlconn
+-------------------------+
| Connected!                            |
|                                       |
...

MySQL tablo:

mysql> CREATE TABLE `test`.`test` (
    ->   `int_id` INT NOT NULL AUTO_INCREMENT,
    ->   `int_nullable` INT NULL DEFAULT NULL,
    ->   `float` FLOAT NOT NULL,
    ->   `float_nullable` FLOAT NULL DEFAULT NULL,
    ->   PRIMARY KEY (`int_id`));
Query OK, 0 rows affected (0,09 sec)

mysql> insert into test (`int_id`, `float`) VALUES (1,2);
Query OK, 1 row affected (0,00 sec)

mysql> select * from test;
+------+----------+-----+----------+
| int_id | int_nullable | float | float_nullable |
+------+----------+-----+----------+
|      1 |         NULL |     2 |           NULL |
+------+----------+-----+----------+
1 row in set (0,00 sec)

Clickhouse'daki MySQL tablosundan veri alma:

SELECT * FROM odbc('DSN=mysqlconn', 'test', 'test')
┌─int_id─┬─int_nullable─┬─float─┬─float_nullable─┐
│      1 │            0 │     2 │              0 │
└────────┴──────────────┴───────┴────────────────┘

Ayrıca Bakınız

Orijinal makale