Goosf Опубликовано 29 марта, 2010 Опубликовано 29 марта, 2010 Вопрос такой.Есть база данных MySQL, та что крутится и ведет статистику полетов на нашем сервере.Мне нужно к ней обратиться, но не знаю, как это можно сделать. Если есть у кого-то пример, желательно с применением технологии ADO.Если можно - то хотелось бы видеть пример кода. б/н 31—-
ABC Опубликовано 29 марта, 2010 Опубликовано 29 марта, 2010 ADO.Net не сойдет? In theory there is no difference between theory and practice. In practice there is.
ABC Опубликовано 29 марта, 2010 Опубликовано 29 марта, 2010 http://dev.mysql.com/downloads/connector/net/ Скачай оттуда. Программно я при его помощи не доставал данные, однако SSIS его подхватил и данные показал. И еще у SQL Server 2008R2 CTP есть MySQL-ный драйвер. У 2008-го тоже есть, но ODBC-шный. In theory there is no difference between theory and practice. In practice there is.
ABC Опубликовано 29 марта, 2010 Опубликовано 29 марта, 2010 В догонку - обращаться точно также как с MS SQL данными, просто провайдера этого указывать. In theory there is no difference between theory and practice. In practice there is.
Goosf Опубликовано 29 марта, 2010 Автор Опубликовано 29 марта, 2010 Я скачал и установил. Только не разобрался в документации. Пробовал создавать объект, который там указан - не получилось.Если есть возможность, выложи пожалуйста пример кода. б/н 31—-
ABC Опубликовано 29 марта, 2010 Опубликовано 29 марта, 2010 В чем программируешь? In theory there is no difference between theory and practice. In practice there is.
Goosf Опубликовано 29 марта, 2010 Автор Опубликовано 29 марта, 2010 1С предприятие 7.7 Там есть метод создания OLE-объектов.Пример кода: Соединение=СоздатьОбъект("ADODB.Connection"); ТекСервер="test"; ТекПароль="123"; ТекБаза="testbase"; СтрокаКоннекта="driver={SQL Server};server="+ТекСервер+";uid=sa;pwd="+ТекПароль+";Database="+ТекБаза; Соединение.ConnectionTimeOut=20; Соединение.CursorLocation=3; Попытка Соединение.Open(СтрокаКоннекта); Исключение Предупреждение("Невозможно установить соединение с базой данных!"); //Действия //******** КонецПопытки; ЗапросАДО=СоздатьОбъект("ADODB.Command"); ЗапросАДО.ActiveConnection=Соединение; ТекстЗапроса=""; ЗапросАДО.CommandText=ТекстЗапроса; Выборка=ЗапросАДО.Execute(); Если Выборка.EOF()=-1 Тогда //Выборка пустая //Действия //******** Иначе Выборка.MoveFirst(); Пока Выборка.EOF()=0 Цикл //Обработка выборки данных //...=Выборка.Fields(["ИмяПоля"/Номер]).Value); //***************** Выборка.MoveNext(); КонецЦикла; КонецЕсли; Выборка.Close(); Соединение.Close(); Выборка=""; ЗапросАДО=""; Соединение=""; б/н 31—-
Goosf Опубликовано 29 марта, 2010 Автор Опубликовано 29 марта, 2010 Собственно вопрос - какой объект создавать? ADODB.Connection ?Если да - то как писать строку соединения.Там порт еще требуется указывать, в интернете пробовал нарыть примеры, но соединиться не получается.Сам сервер работает успешно - с ним работает il2SC, с ним же работает сайт.То есть вывод - что сам MySQL настроен корректно и работает. б/н 31—-
ABC Опубликовано 29 марта, 2010 Опубликовано 29 марта, 2010 Может тебе тогда лучше скачать ODBC драйвер? Тогда создашь новый DSN и к нему присоединишься? Вроде в семерке можно к ODBC коннектиться? In theory there is no difference between theory and practice. In practice there is.
terror Опубликовано 29 марта, 2010 Опубликовано 29 марта, 2010 Собственно вопрос - какой объект создавать? ADODB.Connection ?Если да - то как писать строку соединения.Там порт еще требуется указывать, в интернете пробовал нарыть примеры, но соединиться не получается.Сам сервер работает успешно - с ним работает il2SC, с ним же работает сайт.То есть вывод - что сам MySQL настроен корректно и работает. Почему ADODB.Connection? Вроде класс там называется MySQLConnection, и кроме того, из туториала я вижу, что строку соединения надо подсовывать в конструктор уже при создании, а не передавать в метод Open, как у тебя. Open, по API, вообще никаких аргументов не принимает. Порт пиши стандартный 3306 С уважением, terror
Goosf Опубликовано 29 марта, 2010 Автор Опубликовано 29 марта, 2010 Я показал пример, как я работаю с MS SQL через ADO.Ну собственно нужен пример, как работать с MySQL.Я пробовал и так и так, наверное просто не разобрался.Если кто-то может на основании моего примера ADO написать аналогичный код для MySQL, буду благодарен. б/н 31—-
terror Опубликовано 29 марта, 2010 Опубликовано 29 марта, 2010 Ага. А то я не понял. Я бы могу набросать код, есть одна крупная у меня непонятка. Ты мне скажи СоздатьОбъект("ADODB.Connection") - вот этот ADODB.Connection - это откуда взялось? Как вообще работает этот СоздатьОбъект.Вот это будет работать? Соединение = СоздатьОбъект("MySqlConnection(" + СтрокаКоннекта + ")"); С уважением, terror
Goosf Опубликовано 29 марта, 2010 Автор Опубликовано 29 марта, 2010 Нет, так работать не будет.СоздатьОбъект - CreateObject по английски - создает OLE-объект и возвращает ссылку на него в нашу переменную.Далее мы по ОЛЕ обращаемся к свойствам и методам этого объекта.Самый простой вариант был бы если бы можно было создать объект ADO.NET ADODB.Connection и через него работать. То есть я по технологии OLE могу создать любой объект, имеющий свой интерфейс и работать с ним. Хоть картинку, хоть WORD с EXCEL-ем, хоть интернет эксплорер. б/н 31—-
terror Опубликовано 29 марта, 2010 Опубликовано 29 марта, 2010 Да, понял, тогда Альфа правильно говорит, нужен просто драйвер ODBC, и тогда этот код будет спокойно работать и для МуСкула. Просто вот тут driver={SQL Server} надо будет вместо SQL Server прописать драйвер МуСкула. Читай здесь: http://dev.mysql.com/doc/refman/5.1/en/connector-odbc.html С уважением, terror
ABC Опубликовано 29 марта, 2010 Опубликовано 29 марта, 2010 Ставишь ODBC дравер MySQL. Создаешь новое DSN, пусть 'test_mys_db'. Указываешь там сервер, порт, пользователя, пароль и базу. СтрокаКоннекта="dsn=test_mys_db"; Если не пройдет, то добавь uid и pwd. In theory there is no difference between theory and practice. In practice there is.
Goosf Опубликовано 29 марта, 2010 Автор Опубликовано 29 марта, 2010 Большое спасибо, драйвер скачал, буду пробовать. б/н 31—-
Goosf Опубликовано 29 марта, 2010 Автор Опубликовано 29 марта, 2010 Спасибо, с драйвером все получилось! б/н 31—-
Рекомендуемые сообщения