Я новичок в Кассандре. Я должен вставить 50000 строк за один раз в Кассандре, используя C #. Я использую Cassandra C # драйвер. я использую следующий код для вставки
данные в кассандре. Пожалуйста, помогите мне
string tableName = "" + ConfigurationManager.AppSettings["tableName"];
string keySpace = "test";// "" + ConfigurationManager.AppSettings["Keyspace"];
//string query = "INSERT INTO " + tableName + " (emp_name, emp_position,emp_firstname,uniqueid) VALUES (?, ?,?,?)"; //; "SELECT * FROM "+ tableName + " limit 2 ";
string query = string.Empty;
query =
"BEGIN BATCH " +
"INSERT INTO " + tableName + " (emp_name, emp_position,emp_firstname,uniqueid) VALUES (?, ?,?,?);" +
"INSERT INTO " + tableName + " (emp_name, emp_position,emp_firstname,uniqueid) VALUES (?, ?,?,?);" +
"INSERT INTO " + tableName + " (emp_name, emp_position,emp_firstname,uniqueid) VALUES (?, ?,?,?);" +
" APPLY BATCH";
BatchStatement(keySpace, query,
Convert.ToString("ashish" + i), 2, Convert.ToString("Mohan" + i), System.Guid.NewGuid(),
Convert.ToString("ashish" + i), 2, Convert.ToString("Mohan" + i), System.Guid.NewGuid(),
Convert.ToString("ashish" + i), 2, Convert.ToString("Mohan" + i), System.Guid.NewGuid()
public void BatchStatement(string keySpace, string query, params object[] parameter)
{
try
{
BatchStatement objBatchStatement = new BatchStatement();
PreparedStatement statement = PrepareQueryStatement(keySpace, query);
objBatchStatement.Add(statement.Bind(parameter));
var session = cluster.Connect(keySpace);
//objBatchStatement.ConsistencyLevel
// Execute the batch
//RowSet row = session.Execute(query);
RowSet row = session.Execute(objBatchStatement);
}
catch (Exception ex)
{
Console.WriteLine("Excpetion occured during batch operation method Name BatchStatement error : " + ex.ToString());
}
}
Я получаю сообщение об ошибке: неверный оператор в пакете: разрешены только операторы UPDATE, INSERT и DELETE.