Поделиться через


Как отправлять инструкции SQL на удаленный SQL Server (программным путем)

Инструкции SQL можно напрямую передавать на компьютер, на котором установлен Microsoft SQL Server, с помощью объекта SqlCeRemoteDataAccess.

Передача инструкции SQL

  1. Инициализируйте объект SqlCeRemoteDataAccess и задайте свойства соединения.

    SqlCeRemoteDataAccess rda = new SqlCeRemoteDataAccess("https://www.adventure-works.com/sqlmobile/sqlcesa35.dll", "Data Source=MyDatabase.sdf");
    
  2. Вызовите метод SubmitSql, передав инструкцию SQL или имя хранимой процедуры и строку соединения в базу данных SQL Server.

    rda.SubmitSql("sp_ValidateData", strConn);
    

Пример

В этом образце кода показано, как выполнить команду SQL на удаленном компьютере, где установлен SQL Server, вызовом метода SubmitSql.

string rdaOleDbConnectString = @"Provider = SQLOLEDB;Data Source=MySqlServer;
    Initial Catalog=AdventureWorks; User ID=username;
    Password = <enterStrongPasswordHere>";

        // Initialize RDA Object
        //
        SqlCeRemoteDataAccess rda = null;

        try
        {
            // Try the SubmitSql Operation
            //
            rda = new SqlCeRemoteDataAccess();

            rda.InternetLogin = "MyLogin";
            rda.InternetPassword = "<enterStrongPasswordHere>";
            rda.InternetUrl = "https://www.adventure-works.com/sqlmobile/sqlcesa35.dll";
            rda.LocalConnectionString = "Data Source=MyDatabase.sdf";

            rda.SubmitSql("CREATE TABLE MyRemoteTable (colA int)", rdaOleDbConnectString);
        }
        catch (SqlCeException)
        {
            // Handle errors here
            //
        }
        finally
        {
            // Dispose of the RDA object
            //
            rda.Dispose();
        }
Dim rdaOleDbConnectString As String = @"Provider = SQLOLEDB;Data Source=MySqlServer;" & _
    "Initial Catalog=AdventureWorks; " & _
    "User Id=username; Password = <enterStrongPasswordHere>"
        ' Initialize RDA Object
        '
        Dim rda As SqlCeRemoteDataAccess = Nothing

        Try
            ' Try the SubmitSql Operation
            '
            rda = New SqlCeRemoteDataAccess()

            rda.InternetLogin = "MyLogin"
            rda.InternetPassword = "<enterStrongPasswordHere>"
            rda.InternetUrl = "https://www.adventure-works.com/sqlmobile/sqlcesa35.dll"
            rda.LocalConnectionString = "Data Source=MyDatabase.sdf"

            rda.SubmitSql("CREATE TABLE MyRemoteTable (colA int)", rdaOleDbConnectString)
        Catch
            ' Handle errors here
            '
        Finally
            'Dispose of the RDA object
            '
            rda.Dispose()
        End Try

См. также

Другие ресурсы

Использование метода SubmitSQL

Справка и поддержка

Получение помощи (SQL Server Compact 3.5 с пакетом обновления 1)