Método Push (String, String, RdaBatchOption)
Transmite as alterações de uma tabela controlada puxada no SQL Server Compact 3.5 de volta à tabela do SQL Server. Essas alterações podem ser aplicadas individualmente ao servidor ou processadas em lotes em uma única transação.
Namespace: System.Data.SqlServerCe
Assembly: System.Data.SqlServerCe (em System.Data.SqlServerCe.dll)
Sintaxe
'Declaração
Public Sub Push ( _
localTableName As String, _
oleDBConnectionString As String, _
batchOption As RdaBatchOption _
)
'Uso
Dim instance As SqlCeRemoteDataAccess
Dim localTableName As String
Dim oleDBConnectionString As String
Dim batchOption As RdaBatchOption
instance.Push(localTableName, oleDBConnectionString, _
batchOption)
public void Push(
string localTableName,
string oleDBConnectionString,
RdaBatchOption batchOption
)
public:
void Push(
String^ localTableName,
String^ oleDBConnectionString,
RdaBatchOption batchOption
)
member Push :
localTableName:string *
oleDBConnectionString:string *
batchOption:RdaBatchOption -> unit
public function Push(
localTableName : String,
oleDBConnectionString : String,
batchOption : RdaBatchOption
)
Parâmetros
- localTableName
Tipo: System. . :: . .String
O nome da tabela do SQL Server Compact 3.5 que receberá os registros extraídos do SQL Server. Se a tabela já existir, ocorrerá um erro.
- oleDBConnectionString
Tipo: System. . :: . .String
- batchOption
Tipo: System.Data.SqlServerCe. . :: . .RdaBatchOption
A opção indica se as alterações enviadas de volta à tabela do SQL Server devem ser processadas em lotes em uma única transação ou aplicadas individualmente.
Comentários
Os aplicativos chamam o método Push para transmitir as alterações de uma tabela controlada puxada do SQL Server Compact 3.5 de volta a uma tabela do SQL Server. O aplicativo deve ter criado a tabela local do SQL Server Compact 3.5 chamando o método Pull com RdaTrackOption definido como TrackingOn ou TrackingOnWithIndexes.
oledbConnectionString especifica todas as informações de conexão usadas ao conectar o SQL Server.
Se a Autenticação do SQL Server for usada, a identificação do usuário especificada em OLEDBConnectionString deverá ter a autoridade para ler a tabela do SQL Server.
Se a Autenticação do Windows for usada na configuração de INTEGRATED SECURITY="SSPI" em OLEDBConnectionString, o usuário da Internet deverá ter a autoridade para ler a tabela do SQL Server. O usuário da Internet é identificado com base no método de autenticação pelo seguinte:
Quando o diretório virtual dos Serviços de Informações da Internet da Microsoft (IIS) estiver configurado para usar o acesso anônimo, o usuário da Internet será executado com a identidade da Conta Convidado da Internet (IUSR_nomedocomputador). Se você configurar uma outra conta de usuário do Windows como Conta Convidado da Internet, o usuário da Internet será executado com a identidade dessa conta.
Quando o diretório virtual dos IIS estiver configurado para usar a autenticação Básica, o usuário da Internet será executado com a identidade da conta de usuário do Windows cujo nome de usuário da Internet e senha o cliente forneceu.
Quando o diretório virtual dos IIS estiver configurado para usar a autenticação Integrada do Windows, o usuário da Internet será executado com a identidade da conta de usuário do Windows cujo nome de usuário da Internet e senha o cliente forneceu.
Se errorTableName foi especificado ao chamar o método Pull, os erros detectados durante Push serão registrados na tabela de erros. Para obter mais informações sobre como funciona a tabela de erros, consulte "Detecção e resolução de conflitos RDA" nos Manuais Online do SQL Server Compact 3.5.
Exemplos
O exemplo a seguir cria um objeto SqlCeRemoteDataAccess, define várias propriedades e chama o método Push.
' Connection String to the SQL Server
'
Dim rdaOleDbConnectString As String = "Data Source=MySqlServer;Initial Catalog=AdventureWorks; " & _
"User Id=username;Password = <password>"
' Initialize RDA Object
'
Dim rda As SqlCeRemoteDataAccess = Nothing
Try
' Try the Push Operation
'
rda = New SqlCeRemoteDataAccess( _
"https://www.adventure-works.com/sqlmobile/sqlcesa35.dll", _
"Data Source=MyDatabase.sdf")
rda.InternetLogin = "MyLogin"
rda.InternetPassword = "<password>"
rda.Push("MyLocalTable", rdaOleDbConnectString, RdaBatchOption.BatchingOn)
' or, try this overload:
'
' rda.Push("MyLocalTable", rdaOleDbConnectString)
Catch
' Handle errors here
'
Finally
' Dispose of the RDA Object
'
rda.Dispose()
End Try
// Connection String to the SQL Server
//
string rdaOleDbConnectString = "Data Source=MySqlServer;Initial Catalog=AdventureWorks; " +
"User Id=username;Password = <password>";
// Initialize RDA Object
//
SqlCeRemoteDataAccess rda = null;
try
{
// Try the Push Operation
//
rda = new SqlCeRemoteDataAccess(
"https://www.adventure-works.com/sqlmobile/sqlcesa35.dll",
"Data Source=MyDatabase.sdf");
rda.InternetLogin = "MyLogin";
rda.InternetPassword = "<password>";
rda.Push("MyLocalTable", rdaOleDbConnectString, RdaBatchOption.BatchingOn);
// or, try this overload:
//
// rda.Push("MyLocalTable", rdaOleDbConnectString);
}
catch (SqlCeException)
{
// Handle errors here
//
}
finally
{
// Dispose of the RDA Object
//
rda.Dispose();
}