Problemas ao armazenar dados
Boa tarde
Pessoal tenho um código que armazena um binário no banco access, esta funcionando normalmente, esse é o código:
// Create SQL command containing ? parameter for BLOB.
cmdInsert = new OleDbCommand("INSERT INTO enroll(template) values(?) ", _connection);
// Create parameter for ? contained in the SQL statement.
System.Byte [] temp = new System.Byte[tpt._size + 1];
System.Array.Copy(tpt._tpt, 0, temp, 0, tpt._size);
dbParamInsert = new OleDbParameter("@template", OleDbType.VarBinary, tpt._size,
ParameterDirection.Input, false, 0, 0,"ID",
DataRowVersion.Current, temp);
cmdInsert.Parameters.Add(dbParamInsert);
//execute query
if(_connection.State == ConnectionState.Open)
cmdInsert.ExecuteNonQuery();Tentei fazer o mesmo para armazenar em SQLServer 2012, o programa não apresenta erro mas não armazena nada, olha como fiz:
// Create SQL command containing ? parameter for BLOB.
cmdInsert = new SqlCommand("INSERT INTO enroll_visitantes(template) values(?) ", _connection);
// Create parameter for ? contained in the SQL statement.
System.Byte [] temp = new System.Byte[tpt._size + 1];
System.Array.Copy(tpt._tpt, 0, temp, 0, tpt._size);
dbParamInsert = new SqlParameter("@template", SqlDbType.VarBinary, tpt._size,
ParameterDirection.Input, false, 0, 0,"ID",
DataRowVersion.Current, temp);
cmdInsert.Parameters.Add(dbParamInsert);
//execute query
if(_connection.State == ConnectionState.Open)
cmdInsert.ExecuteNonQuery();No access o campo é Objeto OLE
No SQLServer é campo é varbinary(max)
POrque não armazena nada e não mostra erro?
Fiz alguns teste com campo de tipo diferente jogando valor direto e rolou, só esse método com o sql server que não rolou. Alguém teria alguma solução?
Discussão (3)
Carregando comentários...