Anonymous | Login | Signup for a new account | 21-11-24 12:40 UTC |
All Projects | SAS.Планета | Домен, сайт, форум, багтрекер | Доработка карты (ZMP) | Переводы и локализации | Прочее |
My View | View Issues | Change Log | Roadmap | Search |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0003168 | SAS.Планета | [All Projects] Баг | public | 09-01-2017 10:34 | 12-01-2017 19:01 | ||||
Reporter | Desert Rat | ||||||||
Assigned To | zed | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | closed | Resolution | no change required | ||||||
Platform | Windows | OS | 7 | OS Version | Ultimate | ||||
Product Version | .Nightly | ||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0003168: Не работают метки в MySQL через ODBC | ||||||||
Description | При использовании ODBC MySQL (5.1 5.2 5.3) БД создается не до конца и с ошибками. Причиной является пустой параметр имени в БД. select COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, NUMERIC_PRECISION, NUMERIC_SCALE, 0 INDEX_COUNT from INFORMATION_SCHEMA.COLUMNS where UPPER(TABLE_SCHEMA) = '' and UPPER(TABLE_NAME) = 'USER' При использовании Connection String: select COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, NUMERIC_PRECISION, NUMERIC_SCALE, 0 INDEX_COUNT from INFORMATION_SCHEMA.COLUMNS where UPPER(TABLE_SCHEMA) = 'DRIVER={MYSQL ODBC 5.3 ANSI DRIVER};SERVER=localhost;DATABASE=SASPLANET;UID=root;PASSWORD=root;' and UPPER(TABLE_NAME) = 'USER' | ||||||||
Steps To Reproduce | 1. Установить 5.3 ODBC MySQL Driver 2. Настроить ODBC в Windows через Источник Данных ODBC 3. Включить global_log в MySQL 4. Использовать ODBC в SasPlanet | ||||||||
Additional Information | SET NAMES utf8 SET character_set_results = NULL SET SQL_AUTO_IS_NULL = 0 set @@sql_select_limit=DEFAULT select COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, NUMERIC_PRECISION, NUMERIC_SCALE, 0 INDEX_COUNT from INFORMATION_SCHEMA.COLUMNS where UPPER(TABLE_SCHEMA) = '' and UPPER(TABLE_NAME) = 'USER' SELECT TABLE_NAME, TABLE_COMMENT, TABLE_TYPE, TABLE_SCHEMA FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND ( TABLE_TYPE='BASE TABLE' OR TABLE_TYPE='VIEW' ) AND TABLE_NAME LIKE 'USER' SELECT TABLE_NAME, TABLE_COMMENT, TABLE_TYPE, TABLE_SCHEMA FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND ( TABLE_TYPE='BASE TABLE' OR TABLE_TYPE='VIEW' ) AND TABLE_NAME LIKE 'USER' CREATE TABLE User (ID bigint NOT NULL,uName mediumtext character set UTF8, PRIMARY KEY(ID)) select COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, NUMERIC_PRECISION, NUMERIC_SCALE, 0 INDEX_COUNT from INFORMATION_SCHEMA.COLUMNS where UPPER(TABLE_SCHEMA) = '' and UPPER(TABLE_NAME) = 'USER' SELECT TABLE_NAME, TABLE_COMMENT, TABLE_TYPE, TABLE_SCHEMA FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND ( TABLE_TYPE='BASE TABLE' OR TABLE_TYPE='VIEW' ) AND TABLE_NAME LIKE 'USER' SHOW KEYS FROM `USER` SHOW KEYS FROM `USER` | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | Image 1.png [^] (22,728 bytes) 12-01-2017 11:42
Image 2.png [^] (8,875 bytes) 12-01-2017 11:43 Image 3.png [^] (9,683 bytes) 12-01-2017 15:39 | ||||||||
Notes | |
(0017771) zed (manager) 12-01-2017 11:42 edited on: 12-01-2017 11:51 |
У меня всё работает. Опишу подробно: 1. Установить 32-битный драйвер 5.3.7 2. Запустить сервер:
3. Создать БД:
4. В "Администрирование - Источники данных ODBC (32-разрядная версия)" добавить новый источник: "MySQL ODBC Unicode Driver" с настройками как на скриншоте "Image 1.png" 5. В SAS создать новую БД меток с настройками как на скриншоте "Image 2.png" Сервер 5.6.26 (32-битный) на Windows 8.1 x64. |
(0017772) Desert Rat (reporter) 12-01-2017 13:47 |
Сервер Ubuntu 14.04.1 i686. mysqld 5.5.53. Клиенты: Win 7 x64. Stable 160707.9476. mysql-connector-odbc-5.3.7-win32 Win 10 x64. Nightly 161222.9650. mysql-connector-odbc-5.3.7-win32 Оба клиента не могут создать правильно таблицы изза неверных запросов в SQL. SQL рабочий, так как на нем крутятся несколько сервисов. БД создавалось как указанно в прошлом комментарии. Источник данных был задан через "Источники данных ODBC". Настроено как на скриншоте. ESQLite3Exception: Error SQLITE_ERROR (1) [Step] using 3.13.0 - TSQLRestStorageExternal.Create: TSQLUser: unable to create external missing field User.uName - SQL="ALTER TABLE User ADD uName mediumtext character set UTF8" Если удалить поле uName, создается следующая таблица, и так же с ошибкой. |
(0017773) zed (manager) 12-01-2017 15:39 |
> Оба клиента не могут создать правильно таблицы изза неверных запросов в SQL Значит, при работе с MySQL 5.5.x и младше, надо использовать Connection String в настройках SAS, а не DSN. |
(0017774) Desert Rat (reporter) 12-01-2017 16:05 |
При первом запуске создалась только таблица User и та же ошибка. При повторных другая ошибка. Driver={MySQL ODBC 5.3 UNICODE Driver};Server=192.168.0.1;Database=sasplanet;User=root;password=root; ESQLite3Exception: Error SQLITE_ERROR (1) [Step] using 3.13.0 - TSQLRestStorageExternal.Create: external table creation TSQLUser failed: GetFields() returned nil - SQL="User", extended_errcode=1 SET NAMES utf8 SET character_set_results = NULL SET SQL_AUTO_IS_NULL = 0 set @@sql_select_limit=DEFAULT select COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, NUMERIC_PRECISION, NUMERIC_SCALE, 0 INDEX_COUNT from INFORMATION_SCHEMA.COLUMNS where UPPER(TABLE_SCHEMA) = 'Driver={MySQL ODBC 5.3 UNICODE Driver};Server=192.168.0.1;Database=sasplanet;User=root;password=root;' and UPPER(TABLE_NAME) = 'USER' SELECT TABLE_NAME, TABLE_COMMENT, TABLE_TYPE, TABLE_SCHEMA FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND ( TABLE_TYPE='BASE TABLE' OR TABLE_TYPE='VIEW' ) AND TABLE_NAME LIKE 'USER' Field List User SHOW KEYS FROM `USER` SHOW KEYS FROM `USER` CREATE TABLE User (ID bigint NOT NULL,uName mediumtext character set UTF8, PRIMARY KEY(ID)) ALTER TABLE User ADD uName mediumtext character set UTF8 Quit 1й селект не валидный. 2й селект: +------------+---------------+------------+--------------+ | TABLE_NAME | TABLE_COMMENT | TABLE_TYPE | TABLE_SCHEMA | +------------+---------------+------------+--------------+ | User | | BASE TABLE | sasplanet | +------------+---------------+------------+--------------+ SHOW KEYS FROM `USER` Table 'sasplanet.USER' doesn't exist Но если SHOW KEYS FROM `User' приходит валидный результат |
(0017775) zed (manager) 12-01-2017 16:07 |
Значит, с версией 5.5 оно вообще не работает. Тестируйте на 5.6. |
(0017776) Desert Rat (reporter) 12-01-2017 18:43 |
Переход на 5.7 не дал результата. А вот выставление в конфиге MySQL lower_case_table_names = 1; решил проблема. MySQL в Linux case sensetive в отношении имен таблиц. А в Win нет. |
(0017777) zed (manager) 12-01-2017 19:00 edited on: 12-01-2017 19:01 |
Хорошо, что есть такая опция и плохо, что по дефолту разное поведение на разных платформах. Добавлю ещё ссылку на доки, про чувствительность к регистру, может кому пригодится: 10.2.2 Identifier Case Sensitivity |
Users who viewed this issue | |
User List | Anonymous (3608x), Mitek (1x), arhelon (1x), SlavutichRED (1x), svs14 (2x), hrucker (3x), zarius (1x), gma (1x), Desert Rat (27x), Garl (2x), vdemidov (3x), zed (20x), DozoR (3x) |
Total Views | 3673 |
Last View | 21-11-2024 12:40 |
Issue History | |||
Date Modified | Username | Field | Change |
09-01-2017 10:34 | Desert Rat | New Issue | |
12-01-2017 11:33 | zed | Summary | ODBC MySQL не рабочий => Не работают метки в MySQL через ODBC |
12-01-2017 11:42 | zed | Note Added: 0017771 | |
12-01-2017 11:42 | zed | File Added: Image 1.png | |
12-01-2017 11:43 | zed | File Added: Image 2.png | |
12-01-2017 11:44 | zed | Status | new => feedback |
12-01-2017 11:51 | zed | Note Edited: 0017771 | View Revisions |
12-01-2017 13:47 | Desert Rat | Note Added: 0017772 | |
12-01-2017 13:47 | Desert Rat | Status | feedback => new |
12-01-2017 15:39 | zed | Note Added: 0017773 | |
12-01-2017 15:39 | zed | File Added: Image 3.png | |
12-01-2017 15:40 | zed | Status | new => feedback |
12-01-2017 16:05 | Desert Rat | Note Added: 0017774 | |
12-01-2017 16:05 | Desert Rat | Status | feedback => new |
12-01-2017 16:07 | zed | Note Added: 0017775 | |
12-01-2017 18:43 | Desert Rat | Note Added: 0017776 | |
12-01-2017 19:00 | zed | Note Added: 0017777 | |
12-01-2017 19:01 | zed | Status | new => closed |
12-01-2017 19:01 | zed | Assigned To | => zed |
12-01-2017 19:01 | zed | Resolution | open => no change required |
12-01-2017 19:01 | zed | Note Edited: 0017777 | View Revisions |
My View | View Issues | Change Log | Roadmap | Search |
Copyright © 2007 - 2024 SAS.Planet Team |