Форум программистов, компьютерный форум CyberForum.ru

Программирование мобильных систем

Войти
Регистрация
Восстановить пароль
 
Lolo_O
0 / 0 / 1
Регистрация: 10.12.2015
Сообщений: 9
#1

Ошибка при репликации Windows Ce 5 с MS SQl 2008 - Программирование

10.12.2015, 13:41. Просмотров 299. Ответов 1
Метки нет (Все метки)

Всем доброго дня )) заранее всех благодарю за помощь в данной теме ))
Проблема такая : есть ТСД symbol m3070 windows ce 5 .0 и база данных MS SQL , нужно реализовать репликацию .Все на MS SQl IIS настроено . Написал прогу в VS 2008 c# , на эмуляторе запускаю , репликация работает . Ставлю прогу на ТСД (WIFi включен , выйти в интерн можно ) . Установлены уже такие вот фреймоврки : NETCFv35.wce.armv4 , sqlce.wce5.armv4i , sqlce.repl.wce5.armv4i , sqlce.dev.RU.wce5.armv4i , NETCFv35.Messages.EN .
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 try
            {
 
                //нужна проверка легитимности базы (наличие т.ОперацииЗаказов). Если нет, то удалять файл и устанавливать createDB
 
                if (createDB)
                {
                    repl.ExchangeType = System.Data.SqlServerCe.ExchangeType.BiDirectional;
                    repl.InternetUrl = "http://192.20.206.20:80/ имя публикации/sqlcesa35.dll"; 
                    repl.InternetLogin = "";
                    repl.InternetPassword = "";
                    repl.LoginTimeout = 15;
                    repl.ProfileName = "DEFAULT";
                    repl.Publisher = "имя сервера"; // имя сервера  
                    repl.PublisherAddress = "";
                    repl.PublisherNetwork = System.Data.SqlServerCe.NetworkType.DefaultNetwork;
                    repl.PublisherDatabase = " база данных для публикации "; 
                    repl.PublisherSecurityMode = SecurityType.NTAuthentication;
                    repl.PublisherLogin = "";
                    repl.PublisherPassword = "";
                    repl.Publication = "Имя публикации"; 
                    repl.QueryTimeout = 300;
                    //repl.Validate = System.Data.SqlServerCe.ValidateType.NoValidation;
                    repl.Validate = System.Data.SqlServerCe.ValidateType.RowCountOnly;
                    repl.HostName = TSDKey.Get_TSD_Key; // ключ Guid  Класс реализует ключ приложения
                    repl.Subscriber = "test"; //"test";//  имя подписчика
                    repl.InternetProxyServer = "";
                    repl.InternetProxyLogin = "";
                    repl.InternetProxyPassword = "";
                    repl.ConnectionRetryTimeout = 120;
                    repl.CompressionLevel = 6;
                    repl.ConnectionManager = false;
                    repl.SnapshotTransferType = System.Data.SqlServerCe.SnapshotTransferType.UNC;
                    repl.AddSubscription(AddOption.CreateDatabase);
                    repl.Synchronize();
                    repl.SaveProperties();
              }
   catch (SqlCeException exc)
            {
                if (exc.NativeError == 28037)
                {
                    MessageBox.Show("Нет связи с сервером! Проверьте свое подключение!", "Ошибка!");
                    WriteLineInTextFile(filePathLogFile, "Нет связи с сервером! Проверьте свое подключение!"); // файл логов
                }
                else
                {
                    MessageBox.Show(exc.Message, "Ошибка!");
 
                    WriteLineInTextFile(filePathLogFile, exc.Message);
                }
                if (createDB)
                {
                    DialogResult = DialogResult.Cancel;
                    Close();
                }
            }
            finally
            {
                Cursor.Current = Cursors.Default;
                //repl.Dispose();
            }
Блок сей работает при нажатии на кнопку , сразу как нажимаю выводит пустое окно Ошибка !
Гуглил гуглил , и нечего не нашел . Эмулятор правда windows mobile , на нем все работает , почему на самом устройстве нечего не получается не понимаю о_О
Проблема усложняется так как не выводит номер или название ошибки ((((

Добавлено через 13 минут
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
 bool createDB { get; set; }
 SqlCeReplication repl = null;
 private void Синхронизация_Load(object sender, EventArgs e)
        {
            txtBKey.Text = TSDKey.Get_TSD_Key;
            //FillCB();
            repl = new SqlCeReplication();
            repl.SubscriberConnectionString = DBConStrs.ConnectionString("SM") + "LCID=1049; Encrypt = FALSE;";
            if (createDB)
            {
                lbInfoStausDB.Visible = true;
                FillURLByParam();
                Reinitialize_checkBox.Enabled = false;
                УдалитьБД_button.Enabled = false;
            }
            else
            {
                repl.LoadProperties();
                txt_InternetUrl.Text = repl.InternetUrl;
                txtBSubcriber.Text = repl.Subscriber;
                txtBSubcriber.Enabled = false;
                cbBPublication.Text = repl.Publication.ToString();
                cbBIpServer.Text = repl.InternetUrl.Substring(repl.InternetUrl.IndexOf("://") + 3, repl.InternetUrl.IndexOf(":", 10) - (repl.InternetUrl.IndexOf("://") + 3));
            }
 
        }
 
 private void btnSynhroniz_Click_1(object sender, EventArgs e)
        {
            DialogResult result = DialogResult.None;
            Cursor.Current = Cursors.WaitCursor;
            try
            {
                if (txtBSubcriber.Text.Length <= 0)
                {
                    MessageBox.Show("Введите свой номер ", "Внимание!");
                    return;
                }
 
 
 
                // Instantiate and configure SqlCeReplication object
                //нужна проверка легитимности базы (наличие т.ОперацииЗаказов). Если нет, то удалять файл и устанавливать createDB
 
                if (createDB)
                {
                    repl.ExchangeType = System.Data.SqlServerCe.ExchangeType.BiDirectional;
                    repl.InternetUrl = "http://172.16.0.208:20080/REPL/sqlcesa35.dll"; //txt_InternetUrl.Text; //   [url]http://192.20.202.20:80/[/url] имя публикации/sqlcesa35.dll
                    repl.InternetLogin = "";
                    repl.InternetPassword = "";
                    repl.LoginTimeout = 15;
                    repl.ProfileName = "DEFAULT";
                    repl.Publisher = "BOLD"; // имя сервера - Bold 
                    repl.PublisherAddress = "";
                    repl.PublisherNetwork = System.Data.SqlServerCe.NetworkType.DefaultNetwork;
                    repl.PublisherDatabase = "BD"; // база данных для публикации 
                    repl.PublisherSecurityMode = SecurityType.NTAuthentication;
                    repl.PublisherLogin = "";
                    repl.PublisherPassword = "";
                    repl.Publication = "sm"; //Имя публикации "sm";
                    repl.QueryTimeout = 300;
                    //repl.Validate = System.Data.SqlServerCe.ValidateType.NoValidation;
                    repl.Validate = System.Data.SqlServerCe.ValidateType.RowCountOnly;
                    repl.HostName = TSDKey.Get_TSD_Key;
                    repl.Subscriber = "test"; //"test";// // имя подписчика
                    repl.InternetProxyServer = "";
                    repl.InternetProxyLogin = "";
                    repl.InternetProxyPassword = "";
                    repl.ConnectionRetryTimeout = 120;
                    repl.CompressionLevel = 6;
                    repl.ConnectionManager = false;
                    repl.SnapshotTransferType = System.Data.SqlServerCe.SnapshotTransferType.UNC;
                    repl.AddSubscription(AddOption.CreateDatabase);
 
                }
                else
                {
                    repl.InternetUrl = txt_InternetUrl.Text;
                    if (Reinitialize_checkBox.Checked)
                    {
                        repl.ReinitializeSubscription(true);
                    }
                    if (repl.HostName != TSDKey.Get_TSD_Key || repl.Publication != cbBPublication.Text)
                    {
                        if (MessageBox.Show("Был изменен филиал. Текущие данные будут полностью уничтожены и загружены новые.", "Внимание", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button2) == DialogResult.OK)
                        {
                            repl.LoadProperties();
                            SqlCeReplication replTemp = repl;
                            repl.DropSubscription(DropOption.UnregisterSubscription);
                            repl.InternetUrl = txt_InternetUrl.Text;
                            repl.Publisher = "BDPublisher";//
                            repl.Publication = cbBPublication.Text;
                            repl.HostName = TSDKey.Get_TSD_Key;
                            //replTemp.ReinitializeSubscription(false);
                            repl.AddSubscription(AddOption.ExistingDatabase);
                        }
                        else
                        {
                            return;
                        }
                    }
                }
                repl.Synchronize();
                repl.SaveProperties();
 
                //Блокируем все операции
                if (!createDB)
                {
                    { throw new Exception("Ошибка блокировки операций!\n Синхронизация не выполнена!"); }
                }
                WriteLineInTextFile(filePathLogFile, "Синхронизация успешно завершена!");
 
                Cursor.Current = Cursors.Default;
                MessageBox.Show("Синхронизация успешно завершена!", "Сообщение!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
 
            }
            catch (SqlCeException exc)
            {
                if (exc.NativeError == 28037)
                {
                    MessageBox.Show("Нет связи с сервером! Проверьте свое подключение!", "Ошибка!");
                    WriteLineInTextFile(filePathLogFile, "Нет связи с сервером! Проверьте свое подключение!");
                }
                else
                {
                    MessageBox.Show(exc.Message, "Ошибка!");
 
                    WriteLineInTextFile(filePathLogFile, exc.Message);
                }
                if (createDB)
                {
                    DialogResult = DialogResult.Cancel;
                    Close();
                }
            }
            finally
            {
                Cursor.Current = Cursors.Default;
                //repl.Dispose();
            }
            //Если не было базы при запуске приложения, то происходит проверка и обновление в этом классе.
            //Если была база при запуске, то проверка происходит в точке входа.
            if (result != DialogResult.No && !createDB)
            {
                repl.Dispose();
                DialogResult = DialogResult.OK;
                Close();
            }
            else if (createDB)
            {
                repl.Dispose();
                Close();
            }
        }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2015, 13:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка при репликации Windows Ce 5 с MS SQl 2008 (Программирование):

Ошибка при установке MS SQL 2008 - SQL Server
Всем привет. При установке sql сервера 2008 выскакивает ошибка: Final result: Ошибка установки SQL Server. Чтобы...

Ошибка при установке MS SQL Server 2008 R2 - SQL Server
Помогите пожалуйста, уже устал прост с этим сервером бороться, при установке вылазит вот такая вот ошибка, помогите пожалуйста решить её.

Ошибка при восстановлении БД MS sql server 2008 - SQL Server
Необходимо перенести полностью database с одного компа на другой. Пыталась через Backup|Restore database. Сделала резервную копию, но...

Ошибка при подключении БД в MS SQL Server 2008 R2 - C#
Пишу программу на C# для работы с базами данных MS SQL Server 2008 R2. Базу создал, все работало нормально. В DataGrid данные выводились. ...

Ошибка при установке MS SQL Server 2008 - SQL Server
Здравствуйте. Подскажите, пожалуйста, как установить MS SQL server? У меня появляется вот такая ошибка. Во вложении скриншот

Ошибка при подключении к SQL SERVER 2008 - SQL Server
Кто нибудь сталкивался с подобной проблемой? При попытке добавления подключения к примеру в окне Server Explorer, сервер определяется,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Lolo_O
0 / 0 / 1
Регистрация: 10.12.2015
Сообщений: 9
14.12.2015, 15:36  [ТС] #2
Ответ выяснил сам ) спасибо всем за просмотры ))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2015, 15:36
Привет! Вот еще темы с ответами:

Ошибка при подключении к Microsoft SQL Server 2008 - C#
создал базу данных в Microsoft SQL Server 2008, и хочу подключить к проекту WinForm, через Обозреватель серверов, выдает ошибку, вот...

Ошибка при установке Microsoft SQL Server 2008 - SQL Server
Добрый день форумчане. Столкнулся с такой проблемой при установке Microsoft SQL Server 2008. 1. При запуске установщика от имени...

Ошибка при установке SQL Server 2008 R2 M studio Express - SQL Server
Добрый день Уважаемые коллеги, на сервере Windows Server Standard SP 1 x32, были установлены SQL Server 2005 Express и SQL server 2008 R2...

Ошибка при установке Visual Studio 2008 на Windows 7 - Visual Studio
Устанавливаю Visual Studio 2008 на Windows 7 и на этапе установки Microsoft Visual Studio Tools для системы Microsoft Office (версия...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru