отправить данные из MySQL в базу данных MS-SQL - PullRequest
0 голосов
/ 10 мая 2011

У меня есть таблица имени студента с полями, именем и списком в базе данных my-sql.Кроме того, в базе данных MS-SQL у меня есть одно и то же имя таблицы ученика с полями, name и roll.

Когда значение вставляется в мою таблицу студента базы данных MySQL, мне нужно автоматически вставить то же значение вТаблица студентов базы данных MS-SQL.

Ответы [ 2 ]

1 голос
/ 10 мая 2011

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

// Assuming the primary key is an id int auto_increment
startId = getLastIdFromPreviousRun();
lastId = 0;
offset = 0;
while(true) {
    mysqlrs = mysqlQuery(
        "SELECT * FROM users WHERE id > ? ORDER BY id LIMIT ?, 1000",
        startId,
        offset
    );
    if (!mysqlrs || mysqlrs.count() == 0)
        break;
    foreach(mysqlrs as mysqlrow) {
        mssqlInsert('users', mysqlrow);
        lastId = mysqlrow['id'];
    }
    offset += 1000;
}
if (lastId) {
    setLastIdForNextRun(lastId);
}
1 голос
/ 10 мая 2011

Почему вы используете две разные базы данных для одной и той же вещи?ты не можешь просто выбрать один?Если вы просто пытаетесь экспортировать и импортировать данные, вы сможете экспортировать как csv из одной базы данных и импортировать в другую, а затем использовать только ту базу данных, которая вам нужна.

Если нет, я полагаю, вы могли бынаписать класс, который охватывает два объекта базы данных и фактически выполняет каждый запрос в обеих базах данных.
, например:

public class database
{

public DbConnection mySqlConnection;
public DbConnection sqlConnection;
/// <summary>
/// open two db connections
/// </summary>
   public database()
   {
      mySqlConnection =//string that will open the mysql

      mySqlconnection = //insert string will open the sql server database
   }

   public excecuteNonQuery(String SQL)
   {
     //cmd1 = mysql command
     //cmd2 = mssql command

     cmd1.excecute(SQL);
     cmd2.execute(SQL);

   }
}

И просто создать функции, которые обрабатывают подготовку команд и вставку данных,так что операции выполняются одновременно в обеих базах данных.Я не знаю ни одного метода репликации базы данных mysql в базу данных mssql.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...