|
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, см. следующие внешние сайты:
.