Spec-Zone .ru
спецификации, руководства, описания, API
|
Большинство программ должно работать с Соединителем/ODBC, но для каждого из перечисленных здесь, есть определенные примечания и подсказки, чтобы улучшить или улучшить способ, которым Вы работаете с Соединителем/ODBC и этими приложениями.
Со всеми приложениями гарантируйте, что Вы используете последние драйверы Соединителя/ODBC, менеджера по ODBC и любые библиотеки поддержки и интерфейсы, используемые Вашим приложением. Например, на Windows, используя последнюю версию Microsoft Data Access Components (MDAC) улучшит совместимость с ODBC вообще, и с драйвером Соединителя/ODBC.
Большинство приложений Microsoft было протестировано с Соединителем/ODBC, включая Microsoft Office, Microsoft Access и различные языки программирования, поддерживаемые в пределах ASP и Microsoft Visual Studio.
Улучшить интеграцию между Microsoft Access и MySQL через Соединитель/ODBC:
Для всех версий Доступа включите Соединителю/ODBC Return
matching rows
опция. Для Доступа 2.0, также включите Simulate ODBC
1.0
опция.
Включайте a TIMESTAMP
столбец во всех таблицах, которые Вы хотите быть в
состоянии обновить. Для максимальной мобильности не используйте спецификацию длины в объявлении
столбца (который неподдерживается в пределах MySQL в версиях ранее чем 4.1).
Включайте первичный ключ в каждую таблицу MySQL,
которую Вы хотите использовать с Доступом. В противном случае новые или обновленные строки могут
обнаружиться как #DELETED#
.
Используйте только DOUBLE
поля плавающие. Доступ перестал работать, сравниваясь с
плаваниями одинарной точности. Признак обычно - то, что новые или обновленные строки могут
обнаружиться как #DELETED#
или это невозможно найти или обновить
строки.
Если Вы используете Соединитель/ODBC, чтобы соединиться с таблицей, у
которой есть a BIGINT
столбец, результаты выводятся на экран как #DELETED#
. Работа вокруг решения:
Имейте еще один фиктивный столбец с TIMESTAMP
как тип данных.
Выберите Change BIGINT columns to
INT
опция в диалоговом окне соединения в ODBC Администратор DSN.
Удалите табличную ссылку из Доступа и воссоздайте это.
Старые записи могут все еще вывести на экран как #DELETED#
, но
недавно добавил/обновил, что записи выводятся на экран должным образом.
Если Вы все еще получаете ошибку Another user has
changed your data
после добавления a TIMESTAMP
столбец, следующий прием может помочь Вам:
Не используйте a table
представление таблицы данных. Вместо
этого создайте форму с полями, которые Вы хотите, и использование это form
представление таблицы данных. Установите DefaultValue
свойство
для TIMESTAMP
столбец к NOW()
. Рассмотрите сокрытие TIMESTAMP
столбец от представления так Ваши пользователи
не путается.
В некоторых случаях Доступ может генерировать SQL-операторы, которые не
может понять MySQL. Можно фиксировать это, выбирая "Query|SQLSpecific|Pass-Through"
из меню Access.
На Windows NT, отчетах Доступа BLOB
столбцы как OLE OBJECTS
. Если
Вы хотите иметь MEMO
столбцы вместо этого, изменение BLOB
столбцы к TEXT
с ALTER TABLE
.
Доступ не может всегда обрабатывать MySQL DATE
столбец должным образом. Если Вы имеете проблему с ними,
изменяете столбцы на DATETIME
.
Если у Вас есть в Доступе столбец, определенный как BYTE
,
Доступ пытается экспортировать это как TINYINT
вместо TINYINT UNSIGNED
.
Это дает Вам проблемы, если у Вас есть значения, больше чем 127 в столбце.
Если у Вас есть очень большие (длинные) таблицы в Доступе, могло бы
потребоваться очень долгое время, чтобы открыть их. Или Вы могли бы испытать нехватку
виртуальной памяти и в конечном счете добраться ODBC Query Failed
ошибка и таблица не могут открыться. Чтобы иметь дело с этим, выберите следующие опции:
Возвратите Соответствие Строк (2)
Позвольте БОЛЬШИЕ Результаты (8).
Они составляют в целом значение 10 (OPTION=10
).
Некоторые внешние статьи и подсказки, которые могут быть полезными при использовании Доступа, ODBC и Соединителя/ODBC:
Читайте
Оптимизация Приложений ODBC Доступа
Для списка инструментов, которые могут использоваться с Доступом и источниками данных ODBC, обратитесь к http://www.mysql.com/portal/software/convertors/ разделу для списка доступных инструментов.
Если у Вас есть проблемы, импортируя данные в Microsoft Excel, особенно числовой, дата, и временные стоимости, это, вероятно, из-за ошибки в Excel, где тип столбца исходных данных используется, чтобы определить тип данных, когда те данные вставляются в ячейку в пределах рабочего листа. Результат состоит в том, что Excel неправильно идентифицирует контент, и это влияет и на формат дисплея и на данные, когда это используется в пределах вычислений.
Чтобы решить эту проблему, используйте CONCAT()
функционируйте в своих запросах. Использование CONCAT()
Excel сил, чтобы обработать значение как строку, которая Excel
тогда проанализирует и обычно правильно идентифицирует встроенную информацию.
Однако, даже с этой опцией, некоторые данные могут быть неправильно отформатированы, даже при том, что
исходные данные остаются неизменными. Используйте Format Cells
опция в
пределах Excel, чтобы изменить формат выведенной на экран информации.
Чтобы быть в состоянии обновить таблицу, следует определить первичный ключ для таблицы.
Visual Basic с ADO не может обработать большие целые числа. Это означает что некоторые запросы как SHOW PROCESSLIST
не
работайте должным образом. Фиксация должна использовать OPTION=16384
в ODBC
соединяют строку или выбрать Change BIGINT columns to INT
опция в
Соединителе/ODBC соединяет экран. Можно также хотеть выбрать Return matching
rows
опция.
Если у Вас есть a BIGINT
в Вашем результате можно получить ошибку [Microsoft][ODBC
Driver Manager] Driver does not support this parameter
. Попытайтесь выбрать Change BIGINT columns to INT
опция в Соединителе/ODBC соединяет экран.
Когда Вы кодируете с API ADO и Соединителем/ODBC, Вы должны обратить внимание на некоторые свойства
значения по умолчанию, которые не поддерживаются сервером MySQL. Например, использование CursorLocation Property
как adUseServer
возвращает результат–1 для RecordCount Property
. Чтобы иметь правильное
значение, Вы должны установить это свойство в adUseClient
, как показано в
VB кодируют здесь:
Dim myconn As New ADODB.ConnectionDim myrs As New RecordsetDim mySQL As StringDim myrows As Longmyconn.Open "DSN=MyODBCsample"mySQL = "SELECT * from user"myrs.Source = mySQLSet myrs.ActiveConnection = myconnmyrs.CursorLocation = adUseClientmyrs.Openmyrows = myrs.RecordCountmyrs.Closemyconn.Close
Другое обходное решение должно использовать a SELECT COUNT(*)
оператор для
подобного запроса, чтобы получить корректное количество строки.
Чтобы счесть число строк влиявшим определенным SQL-оператором в ADO, используйте RecordsAffected
свойство в ADO выполняет метод. Для получения дополнительной информации по использованию выполняют
метод, обращаются к
Для получения информации см.
Выберите Return matching rows
опция в DSN.
Для получения дополнительной информации о том, как получить доступ к MySQL через ASP, используя Соединитель/ODBC, обратитесь к следующим статьям:
Часто Задаваемый список Вопросов для ASP может быть найден в
Некоторые статьи, которые могут помочь с Visual Basic и ASP:
<mike@openwin.org>
).
<mike@openwin.org>
).
Со всеми приложениями Borland, где Механизм базы данных Borland (BDE) используется, следуйте за этими шагами, чтобы улучшить совместимость:
Обновление к BDE 3.2 или более новый.
Включите Don't optimize column widths
опция в DSN.
Включенный Return matching rows
опция в DSN.
Когда Вы запускаете запрос, можно использовать Active
свойство или Open
метод. Отметьте это Active
запускается,
автоматически выходя a SELECT * FROM ...
запрос. Это, возможно, не хорошая
вещь, если Ваши таблицы являются большими.
Кроме того, вот некоторый потенциально полезный код Delphi, который устанавливает и запись ODBC и запись
BDE для Соединителя/ODBC. Запись BDE требует Редактора Псевдонима BDE, который свободен в Delphi
Страница Высшего качества около Вас. (Благодаря Брайану Брунтону <bryan@flesherfab.com>
для этого):
fReg:= TRegistry.Create;fReg.OpenKey('\Software\ODBC\ODBC.INI\DocumentsFab', True);fReg.WriteString('Database', 'Documents');fReg.WriteString('Description', ' ');fReg.WriteString('Driver', 'C:\WINNT\System32\myodbc.dll');fReg.WriteString('Flag', '1');fReg.WriteString('Password', '');fReg.WriteString('Port', ' ');fReg.WriteString('Server', 'xmark');fReg.WriteString('User', 'winuser');fReg.OpenKey('\Software\ODBC\ODBC.INI\ODBC Data Sources', True);fReg.WriteString('DocumentsFab', 'MySQL');fReg.CloseKey;fReg.Free;Memo1.Lines.Add('DATABASE NAME=');Memo1.Lines.Add('USER NAME=');Memo1.Lines.Add('ODBC DSN=DocumentsFab');Memo1.Lines.Add('OPEN MODE=READ/WRITE');Memo1.Lines.Add('BATCH COUNT=200');Memo1.Lines.Add('LANGDRIVER=');Memo1.Lines.Add('MAX ROWS=-1');Memo1.Lines.Add('SCHEMA CACHE DIR=');Memo1.Lines.Add('SCHEMA CACHE SIZE=8');Memo1.Lines.Add('SCHEMA CACHE TIME=-1');Memo1.Lines.Add('SQLPASSTHRU MODE=SHARED AUTOCOMMIT');Memo1.Lines.Add('SQLQRYMODE=');Memo1.Lines.Add('ENABLE SCHEMA CACHE=FALSE');Memo1.Lines.Add('ENABLE BCD=FALSE');Memo1.Lines.Add('ROWSET SIZE=20');Memo1.Lines.Add('BLOBS TO CACHE=64');Memo1.Lines.Add('BLOB SIZE=32');AliasEditor.Add('DocumentsFab','MySQL',Memo1.Lines);
Следующая информация берется из документации ColdFusion:
Используйте следующую информацию, чтобы сконфигурировать Сервер ColdFusion для Linux, чтобы использовать
unixODBC
драйвер с Соединителем/ODBC для источников данных MySQL. Можно
загрузить Соединитель/ODBC в
Версия 4.5.1 ColdFusion позволяет Вам использовать Администратора ColdFusion, чтобы добавить источник данных
MySQL. Однако, драйвер не включается с версией 4.5.1 ColdFusion. Прежде, чем драйвер MySQL появляется в
выпадающем списке источников данных ODBC, создайте и скопируйте драйвер Соединителя/ODBC в /opt/coldfusion/lib/libmyodbc.so
.
Каталог Contrib содержит программу mydsn-
который позволяет Вам создавать и удалять файл
реестра DSN для драйвера Соединителя/ODBC на приложениях ColdFusion. xxx
.zip
Для получения дополнительной информации и руководства при использовании ColdFusion и Соединителя/ODBC, см. следующие внешние сайты:
Открытый Office (
Сервер самбара (