ст. л-т. 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.
ст. л-т. Goosf Опубликовано 29 марта, 2010 Автор Опубликовано 29 марта, 2010 Да, конечно подойдет! б/н 31—-
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 Командир 72АГ Опубликовано 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 Командир 72АГ Опубликовано 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 Командир 72АГ Опубликовано 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—-
Рекомендуемые сообщения