Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Изменение строки таблицы в базе данных MySQL при помощи Windows PowerShell

Ответить
Настройки темы
PowerShell - [решено] Изменение строки таблицы в базе данных MySQL при помощи Windows PowerShell

Новый участник


Сообщения: 9
Благодарности: 1

Профиль | Отправить PM | Цитировать


Добрый день!
Я еще пока новичок. Помогите, пожалуйста, чем сможете...

Задача: Создать скрипт, выполнение которого приводит к изменению записи таблицы в базе данных MySQL на удаленном сервере.

Синтаксис подключения к MySQL я вроде как нашел:
Server=myServerAddress;Port=1234;Database=myDataBase;Uid=myUsername;Pwd=myPassword;

А как теперь поменять запись?
Есть таблица Shipowner базы данных SeamansBook. Необходимо будет менять данные только у элемета с itemId = 1 (т.е. самая первая запись).

Отправлено: 15:28, 27-09-2012

 

Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


Попробуйте:

Код: Выделить весь код
$connectionString = "myServerAddress;Port=1234;Database=myDataBase;Uid=myUsername;Pwd=myPassword;"
$connection = New-Object MySql.Data.MySqlClient.MySqlConnection
$connection.ConnectionString = $connectionString
$connection.Open()

$sql = New-Object MySql.Data.MySqlClient.MySqlCommand
$sql.Connection = $connection

$sql.CommandText = "update Shipowner set ColumnName = "New VALUE" where itemId = 1"
$sql.ExecuteNonQuery()
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:58, 27-09-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 9
Благодарности: 1

Профиль | Отправить PM | Цитировать


Спасибо!
Поезд тронулся

Только пришлось сначала подключить MySqlData.dll
Также пришлось вынести значения в отдельные переменные

Код: Выделить весь код
Add-Type -Path 'C:\Program Files (x86)\MySQL\MySQL Connector Net 6.4.5\Assemblies\v2.0\MySql.Data.dll'
$connectionString = "Server=myServerAddress;Port=3306;Database=SeamansBook;Uid=myUsername;Pwd=myPassword;"
$connection = New-Object MySql.Data.MySqlClient.MySqlConnection
$connection.ConnectionString = $connectionString
$connection.Open()

$sql = New-Object MySql.Data.MySqlClient.MySqlCommand
$sql.Connection = $connection

$RusFull = 'Gazprom'
$ID = '1'
$sql.CommandText = "UPDATE Shipowner SET shipownerRusFull = $RusFull WHERE itemId = $ID"
$sql.ExecuteNonQuery()
Правда все равно ругается и с этим пока сам разобраться не смог:

Исключение при вызове "ExecuteNonQuery" с "0" аргументами: "Unknown column 'Gazprom' in 'field list'"
C:\SeamansBook.ps1:13 знак:21
+ $sql.ExecuteNonQuery <<<< ()
+ CategoryInfo : NotSpecified: ( [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException

Я так понял, что он пытается найти поле Gazprom, а не вписать значение Gazprom в поле shipownerRusFull...
А вот почему - еще не знаю...

Последний раз редактировалось Dezmond, 28-09-2012 в 14:34.


Отправлено: 13:09, 28-09-2012 | #3


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


Если взять в кавычки?
"UPDATE Shipowner SET shipownerRusFull = ""$RusFull"" WHERE itemId = ""$ID"""

Отправлено: 14:40, 28-09-2012 | #4


Новый участник


Сообщения: 9
Благодарности: 1

Профиль | Отправить PM | Цитировать


Спасибо огромное!
Запахало!!!

А не подскажете, заодно, как мне в PowerShell прописать все файлы с разрешением?
Т.е. в командной строке *.txt , а в PowerShell?

Отправлено: 14:58, 28-09-2012 | #5


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


dir *.txt

Отправлено: 15:03, 28-09-2012 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Изменение строки таблицы в базе данных MySQL при помощи Windows PowerShell

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
оптимизация подключений к базе данных MySQL binders Вебмастеру 10 30-06-2011 18:08
Разное - Отличие методов доступа к базе данных MySQL von JoSy Программирование и базы данных 0 07-07-2010 12:46
MySQL - [решено] сохранение данных в базе данных Mysql TigerZaka Программирование и базы данных 4 24-08-2008 15:48
[решено] Заполнение таблицы БД (mysql+php) - прошу вашей помощи xkornx Вебмастеру 3 01-03-2008 16:04
выборка случайной строки из таблицы на MySQL Vlad Drakula Вебмастеру 5 19-10-2004 05:55




 
Переход