Re[2]: Установка SQL CE на win ce 4.2
От: ufo7  
Дата: 23.11.06 15:48
Оценка:
Здравствуйте, olefard, Вы писали:
O> Вам подойдет для процессора ArmV4

У меня похожая проблема, нужно использовать SqlCE 2.0 на Symbol XR400 (WinCE4.2)
1. Я не могу найти версию установленного на девайсе фрэймворка (не знаю как это программно сделать, кажется есть какая-то ф-ция)
2. При попытке запустить нижеприведенный код выдает:

\> sqlCE
File was not found
System.MissingMethodException:MissingMethodException
MissingMethodException

Есть подозрение на несовместимость фрэймворка предустановленного на девайсе и требуемого SqlCE 2.0

Кстати попытки разворачавать .cab файлы приводят к зависанию telnet консоли (процесс wceload.exe)

Пробовал развернуть сетапы:

SqlCe 2.0
c:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SQL Server\Mobile\v2.0\wce400\armv4\sqlce20.ppc.wce4.armv4.CAB

CompactFramework 1
c:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v1.0\WindowsCE\WCE400\ARMV4\NETCFv1.WCE.ARMV4.CAB
CompactFramework 2
c:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\wce400\armv4\NETCFv2.ppc.armv4.cab

Кстати библиотеки SqlCe 2.0 для референсов проекта брал в c:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SQL Server\Mobile\v2.0\
(System.Data.SqlServerCe.dll и System.Data.Common.dll)

(Проект делал из-под шаблона PPC2003 консольное приложение под 1й компакт фрэймворк)

internal class Program
    {
        private static void Main(string[] args)
        {
            try
            {
                
                
                if (File.Exists("\\Test.sdf"))
                {
                    File.Delete("\\Test.sdf");
                    Console.WriteLine("File was deleted");
                }
                else
                {
                    Console.WriteLine("File was not found");
                }


                string connStr = "Data Source = \\Test.sdf; Password = <password>";

                SqlCeEngine engine = new SqlCeEngine(connStr);
                
                engine.CreateDatabase();
                engine.Dispose();

                SqlCeConnection conn = new SqlCeConnection(connStr);
                conn.Close();
                conn.Open();
                
                Console.WriteLine("SqlCe connection open...");

                SqlCeCommand cmd = conn.CreateCommand();
                cmd.CommandText = "CREATE TABLE myTable (col1 int, col2 ntext)";
                cmd.ExecuteNonQuery();


                if (File.Exists("\\Test.sdf"))
                {
                    Console.WriteLine("File Test.sdf created");
                }
                else
                {
                    Console.WriteLine("File was not created");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                Console.WriteLine(e.Message.ToString());
                Console.WriteLine(e.InnerException.ToString());
            }
        }
    }
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.