Страница 1 из 5

запись значений в SQL-сервер

Добавлено: 08 апр 2011, 12:48
Alexig
Как реализовать запись новых значений во внешний SQL сервер? Спасибо

Re: запись значений в SQL-сервер

Добавлено: 08 апр 2011, 12:56
admin
1) В параметрах определить параметры подключения к внешней базе данных: "Настройка" - "Параметры" - "Разные" - "Подключение к базе данных".
Используйте OLE DB провайдера SQL базы данных;

2) Создать SQL переменную и в SQL скрипте исполняемом при чтении прописать скрипт записи значений в базу данных.
Например используя оператор INSERT. Пример доступен в окне редактора SQL скрипта.

Re: запись значений в SQL-сервер

Добавлено: 21 апр 2011, 10:27
Margadon
Понятно, а если я значение переменной из Modbus хочу в Sql переписывать, то это как сделать? ведь она может быть либо только модбас, либо SQL.
а если я в другю базу пишу, в MySQL, скрипт написанный для mysql, ну что-нибудь например:
<?php
//include ('connect.php');
$var1 = 25;
$sql = 'INSERT INTO vars(var1)
VALUES(".$var1.')';
?>
будет работать?

Re: запись значений в SQL-сервер

Добавлено: 21 апр 2011, 10:41
admin
В редакторе SQL переменной нужно ввести SQL скрипт для подключенной SQL базы.
Чтобы записать в SQL базу значение Modbus переменной (Node.Item1) нужно написать например:
"INSERT INTO Northwind.dbo.Orders (CustomerID,OrderDate) VALUES (Item(Node.Item1), getdate())"
где getdate() - стандартная SQL функция получения текущего времени.

Подробности по SQL переменной см. в документации к программе:
http://www.lectussoft.com/manual/index.html
"Переменные" - "SQL переменные"

Re: запись значений в SQL-сервер

Добавлено: 21 апр 2011, 11:08
Margadon
всё понятно с MS SQL. мануал почитал, всё ясно. но я то спрашивал совсем про другое:
а если я значение переменной из Modbus хочу в Sql переписывать, то это как сделать?
т.е. я хочу данные из сети модбас переписывать в MySQL. ? как это сделать, если переменная может быть либо модбас, либо SQL
и вторая часть вопроса: у меня связь с MySQL переменной а не с MsSQL. мне в окне скрипта что писать? php код?

Re: запись значений в SQL-сервер

Добавлено: 21 апр 2011, 11:19
admin
1) Не пойму вопроса. В примере рассматривается переменная Node.Item1 как Modbus переменная.
Ее значение записывается в базу данных.
Нужно создать две переменных. Одна Modbus переменная, другая SQL переменная.

2) При чем тут php ? Нужно писать SQL скрипт который выполняется базой данных.

Re: запись значений в SQL-сервер

Добавлено: 21 апр 2011, 11:57
Margadon
1) ага! значит для копирования из модбас в sql достаточно создать 2 переменные -одну модбас, другую sql и одинаково их назвать, правильно?
2) понял

Re: запись значений в SQL-сервер

Добавлено: 21 апр 2011, 12:00
admin
Не нужно их одинаково называть.
Node.Item1 - Modbus переменная
Node.Item2 - SQL переменная

Re: запись значений в SQL-сервер

Добавлено: 26 апр 2011, 12:04
Margadon
Такая ситуация: Win 7 максимальная, соединяюсь с MySQL через ODBC драйвер. т.е в настройках поставщик OLE DB провайдер для ODBC строка подключения: Provider=MSDASQL.1;Persist Security Info=False;User ID=root;Mode=ReadWrite;Initial Catalog=proc;
нажимаю на Тест - соединение OK, но когда всё сохраняю, повторно открываю подключение к базе нажимаю тест, вижу: ошибка подключения, источник данных не найден, драйвер не указан.
Естественно, настроенная переменная SQL тоже не читается.
Всё то-же самое сделанное на Win XP работает, переменную читает и в базу пишет.
что это, как бороть?

Re: запись значений в SQL-сервер

Добавлено: 26 апр 2011, 12:17
admin
Запускайте OPC сервер под Администратором.
Например через контекстное меню "Запуск от имени администратора".