Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
 Скопировать даннные из SQL server в LocalDB  [new]
IFK
Member

Откуда: Гондурас
Сообщений: 1034
Уважаемый форум,

Че-то не получается скопировать данные из сиквела в локальную базу под VB:
            DB_local_connection.ConnectionString = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename='C:\Users\LOCAL_DB.mdf';Integrated Security=True"
            DB_local_connection.Open()
            sql_command.CommandType = CommandType.Text
            sql_command.Connection = DB_local_connection
            sql_command.CommandText = "INSERT INTO ACC_PP SELECT * FROM SQLSERVER100.SQLDB.ACC_PP"
            sql_command.ExecuteNonQuery()                                                                            <= здесь ошибка выскакивает


Выдает ошибку, что инвалид-объект, хотя такая таблица и БД и сервер существуют, подсоединены к проекту и точно работают.

Ошибку подозреваю где-то в синтаксисе, но никак не могу выловить. Может подскажете, профи, что не так?
10 июн 21, 17:43    [22333981]     Ответить | Цитировать Сообщить модератору
 Re: Скопировать даннные из SQL server в LocalDB  [new]
Konst_One
Member

Откуда:
Сообщений: 11615
а с чего вдруг локальная база будет иметь доступ к внешнему SQL-серверу?
10 июн 21, 18:06    [22333992]     Ответить | Цитировать Сообщить модератору
 Re: Скопировать даннные из SQL server в LocalDB  [new]
IFK
Member

Откуда: Гондурас
Сообщений: 1034
Konst_One,

Нужно данными обмениваться. Приложение должно работать в офлайне - тогда используется локальная база, а если есть соединение, то внешний сиквел. Соответственно, данные нужно копировать из внешнего сиквела в локальную базу, чтобы пользователь смог работать в офлайне.
11 июн 21, 12:22    [22334309]     Ответить | Цитировать Сообщить модератору
 Re: Скопировать даннные из SQL server в LocalDB  [new]
Dima T
Member

Откуда:
Сообщений: 15801
IFK
Приложение должно работать в офлайне - тогда используется локальная база, а если есть соединение, то внешний сиквел.

Для начала подумай как перейти из оффлайна в онлайн, т.е. перенести наработанное из локального во внешний. Как понимаю локальная база не одна будет, иначе зачем такое городить.

Не изобретай велосипед. Гугли репликация MSSQL
11 июн 21, 12:49    [22334334]     Ответить | Цитировать Сообщить модератору
 Re: Скопировать даннные из SQL server в LocalDB  [new]
IFK
Member

Откуда: Гондурас
Сообщений: 1034
Dima T
IFK
Приложение должно работать в офлайне - тогда используется локальная база, а если есть соединение, то внешний сиквел.

Для начала подумай как перейти из оффлайна в онлайн, т.е. перенести наработанное из локального во внешний. Как понимаю локальная база не одна будет, иначе зачем такое городить.

Не изобретай велосипед. Гугли репликация MSSQL


Нахрена мне репликация?
Онлайн сервер содержит общую копию всех данных. Локальная база может и будет отличаться, мне нужно слить изменения после кучи проверок и т.д. из локальной в общую на следующем шаге.

Сейчас вопрос как сделать копию таблиц из онлайн базы в локальную по нажатию кнопки?
Конкретно по приведенному коду есть идеи или другие варианты?
11 июн 21, 12:57    [22334345]     Ответить | Цитировать Сообщить модератору
 Re: Скопировать даннные из SQL server в LocalDB  [new]
IFK
Member

Откуда: Гондурас
Сообщений: 1034
Dima T, добавлю: по техническим причинам репликация не подходит - нет прав и т.д.
11 июн 21, 13:00    [22334349]     Ответить | Цитировать Сообщить модератору
 Re: Скопировать даннные из SQL server в LocalDB  [new]
Konst_One
Member

Откуда:
Сообщений: 11615
если нужно получить данные с внешнего сервера, то сгачала откройте соединение с ним и делайте к нему запросы для получения данных
11 июн 21, 13:59    [22334397]     Ответить | Цитировать Сообщить модератору
 Re: Скопировать даннные из SQL server в LocalDB  [new]
Konst_One
Member

Откуда:
Сообщений: 11615
гетерогенные запросы у вас не выйдут на LocalDB
11 июн 21, 14:00    [22334399]     Ответить | Цитировать Сообщить модератору
 Re: Скопировать даннные из SQL server в LocalDB  [new]
IFK
Member

Откуда: Гондурас
Сообщений: 1034
Konst_One
если нужно получить данные с внешнего сервера, то сгачала откройте соединение с ним и делайте к нему запросы для получения данных


Это делается при старте приложения.
11 июн 21, 14:05    [22334402]     Ответить | Цитировать Сообщить модератору
 Re: Скопировать даннные из SQL server в LocalDB  [new]
IFK
Member

Откуда: Гондурас
Сообщений: 1034
Konst_One
гетерогенные запросы у вас не выйдут на LocalDB


В смысле "гетерогенные"? И почему не выйдут?
11 июн 21, 14:05    [22334404]     Ответить | Цитировать Сообщить модератору
 Re: Скопировать даннные из SQL server в LocalDB  [new]
Konst_One
Member

Откуда:
Сообщений: 11615
И «гетерогенный» является подмножеством распределенных запросов

Распределенные данные хранятся в нескольких экземплярах SQL Server.
Гетерогенные данные, хранящиеся в различных реляционных и нереляционных источниках данных, доступ к которым осуществляется с помощью поставщика OLE DB.
11 июн 21, 14:14    [22334413]     Ответить | Цитировать Сообщить модератору
 Re: Скопировать даннные из SQL server в LocalDB  [new]
IFK
Member

Откуда: Гондурас
Сообщений: 1034
Konst_One
И «гетерогенный» является подмножеством распределенных запросов

Распределенные данные хранятся в нескольких экземплярах SQL Server.
Гетерогенные данные, хранящиеся в различных реляционных и нереляционных источниках данных, доступ к которым осуществляется с помощью поставщика OLE DB.


Хорошо, но у меня обе БД реляционные: сиквел и .mdf, что тоже сиквел, только Экспрес или что там еще. Не так?

А конкретно по запросу и механизму есть идеи?
Вкратце проблема: есть пользователи, которые часто работают офлайн - для них данные храниться должны в локальной базе. При возвращении они должны синхронизировать свои записи с онлайн базой. Репликация не подойдет, потому что нет прав создавать рассылки\подписки и т.д., кроме того, что создавать реплики и т.д. на локальных пользовательских машинах - это ненужный кусок работы.
11 июн 21, 14:22    [22334423]     Ответить | Цитировать Сообщить модератору
 Re: Скопировать даннные из SQL server в LocalDB  [new]
Konst_One
Member

Откуда:
Сообщений: 11615
придётся изобретать собственный механизм репликации?
11 июн 21, 14:28    [22334430]     Ответить | Цитировать Сообщить модератору
 Re: Скопировать даннные из SQL server в LocalDB  [new]
IFK
Member

Откуда: Гондурас
Сообщений: 1034
Konst_One
придётся изобретать собственный механизм репликации?


Ну, это не репликация в чистом виде, скорее синхронизация. :)
А что делать?
11 июн 21, 14:29    [22334431]     Ответить | Цитировать Сообщить модератору
 Re: Скопировать даннные из SQL server в LocalDB  [new]
IFK
Member

Откуда: Гондурас
Сообщений: 1034
Konst_One
придётся изобретать собственный механизм репликации?


Кроме всего прочего, вот: At the subscriber server (destination), install any edition of SQL Server, except SQL Server Express or SQL Server Compact. The publication that's created in this tutorial does not support either SQL Server Express or SQL Server Compact.
11 июн 21, 14:33    [22334435]     Ответить | Цитировать Сообщить модератору
 Re: Скопировать даннные из SQL server в LocalDB  [new]
Konst_One
Member

Откуда:
Сообщений: 11615
конечно, репликация вам не доступна (сами же выбрали LocalDb, ограничения версии наверняка смотрели), придумывайте собственный механизм синхронизации.
11 июн 21, 16:19    [22334491]     Ответить | Цитировать Сообщить модератору
 Re: Скопировать даннные из SQL server в LocalDB  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 22381
Можно поставить локальный SQL-сервер, настроить Linked Server и вперед.
11 июн 21, 16:32    [22334498]     Ответить | Цитировать Сообщить модератору
 Re: Скопировать даннные из SQL server в LocalDB  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 6192
Shocker.Pro
Можно поставить локальный SQL-сервер, настроить Linked Server и вперед.

Я сильно сомневаюсь, что у ТС гигабайты данных и много таблиц. Для такого случая вполне сойдёт обычный SqlBulkCopy.
11 июн 21, 16:50    [22334506]     Ответить | Цитировать Сообщить модератору
Все форумы / WinForms, .Net Framework Ответить