Усеченное поле MySQL при подключении из MS Access - PullRequest
1 голос
/ 28 апреля 2010

Я создал связанную таблицу с таблицей MySQL в MS Access 2003. Я использовал драйвер mysql-connector-odbc-5.1.6-win32, который нашел на сайте MySQL. Когда я просматриваю таблицу, я вижу только 70 символов в поле VARCHAR (255). Кому-нибудь повезло с использованием MySQL из MS Access?

Ответы [ 3 ]

0 голосов
/ 28 апреля 2010

Прошло много времени с тех пор, как я работал с таблицами MySQL из MS Access, но из того, что я помню, я не думаю, что Access напрямую использует определения полей MySQL при связывании таблиц.Я не помню, было ли это для таблиц или сквозных запросов, но я помню, что иногда казалось, что Access основывает свои определения полей на данных, содержащихся в первых нескольких загруженных строках.

Может бытьнеобязательный параметр, который можно указать в строке подключения, чтобы помочь с настройкой правильных определений полей.Посетите сайт www.connectionstrings.com или веб-сайт MySQL для получения дополнительной информации.

Я фактически избежал связывания таблиц MySQL в Access, поскольку производительность запросов, объединяющих две таблицы, была ужасной.Однако я довольно часто использовал сквозные запросы с большим успехом.При использовании сквозных запросов работа запроса выполняется механизмом MySQL, а не механизмом доступа JET, что обычно приводит к гораздо большей производительности, поскольку только конечные данные передаются клиенту.Однако вы теряете преимущество WYSIWYG в редактировании запросов в Access при использовании сквозных запросов.

Одно сложное решение, которое я бы использовал, заключалось в использовании сквозного запроса для автоматического создания таблицы, которую я мог бы периодически обновлять вручную,Мне пришлось бы вручную настраивать определение таблицы во время настройки (поскольку запрос не опускал определения полей), но как только я настроил таблицу, я мог программно обновить таблицу данными MySQL.Я использовал эту технику, когда мне нужно было сделать много сложных вещей в Access, и собирал тонны данных.

0 голосов
/ 03 июня 2011

Ну, это стыдно.В таблице, на которую я смотрел, есть столбец, который является усеченной версией более длинного столбца, и я вместо этого смотрел на него.

0 голосов
/ 28 апреля 2010

Просто предположение, я не уверен, было ли 70 точным числом, но:

255/4 = 63.75 (so 63) Это означает, что ограничение в 255 байт допускает только 63 4-байтовых символа.

Я не уверен, что где-то на MySQL <-> Access это делает кодирование странным.

Если в вашей таблице используется кодировка строки большего размера, возможно, это ограничивает количество символов?

Я тоже могу быть совершенно не прав.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...