4.4 KiB
machine_translated | machine_translated_rev | toc_priority | toc_title |
---|---|---|---|
true | d734a8e46d |
44 | جستجو |
جستجو
بازگرداندن جدول است که از طریق متصل ODBC.
odbc(connection_settings, external_database, external_table)
پارامترها:
connection_settings
— Name of the section with connection settings in theodbc.ini
پرونده.external_database
— Name of a database in an external DBMS.external_table
— Name of a table in theexternal_database
.
با خیال راحت پیاده سازی اتصالات ان بی سی, تاتر با استفاده از یک برنامه جداگانه clickhouse-odbc-bridge
. اگر راننده او بی سی به طور مستقیم از لود clickhouse-server
, مشکلات راننده می تواند سرور تاتر سقوط. تاتر به طور خودکار شروع می شود clickhouse-odbc-bridge
هنگامی که مورد نیاز است. برنامه پل او بی سی از همان بسته به عنوان نصب clickhouse-server
.
زمینه های با NULL
مقادیر از جدول خارجی به مقادیر پیش فرض برای نوع داده پایه تبدیل می شوند. مثلا, اگر یک میدان جدول خروجی زیر از راه دور است INT NULL
نوع این است که به 0 تبدیل (مقدار پیش فرض برای کلیک Int32
نوع داده).
مثال طریقه استفاده
گرفتن اطلاعات از نصب و راه اندازی خروجی زیر محلی از طریق ان بی سی
این مثال برای لینوکس اوبونتو 18.04 و سرور خروجی زیر 5.7 بررسی می شود.
اطمینان حاصل شود که unixodbc و mysql اتصال نصب شده است.
به طور پیش فرض (در صورت نصب از بسته), کلیک خانه شروع می شود به عنوان کاربر clickhouse
. بنابراین شما نیاز به ایجاد و پیکربندی این کاربر در سرور خروجی زیر.
$ sudo mysql
mysql> CREATE USER 'clickhouse'@'localhost' IDENTIFIED BY 'clickhouse';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'clickhouse'@'clickhouse' WITH GRANT OPTION;
سپس اتصال را پیکربندی کنید /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
شما می توانید اتصال با استفاده از بررسی isql
ابزار از unixODBC نصب و راه اندازی.
$ isql -v mysqlconn
+-------------------------+
| Connected! |
| |
...
جدول در خروجی زیر:
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)
بازیابی اطلاعات از جدول خروجی زیر در کلیک:
SELECT * FROM odbc('DSN=mysqlconn', 'test', 'test')
┌─int_id─┬─int_nullable─┬─float─┬─float_nullable─┐
│ 1 │ 0 │ 2 │ 0 │
└────────┴──────────────┴───────┴────────────────┘