Здравствуйте, ufo7, Вы писали:
U>Есть подозрение на несовместимость фрэймворка предустановленного на девайсе и требуемого SqlCE 2.0
Проверил на эмуляторе с 1м фрэймворком, там та-же версия. Теперь я уверен что проблема в
кривой установке самого SqlCE Server v2
Дело в том, что прямо поставить через .cab файл — не удается. Зависает wceload.exe
Если я просто копирую в одну папку:
SqlCE.exe
System.Data.Common.dll
System.Data.SqlServerCe.dll
Всеравно проблема — остается
\temp> sqlce
OS: Microsoft Windows CE 4.20.0
CF: 1.0.4292.0
---
System.MissingMethodException:MissingMethodException
MissingMethodException
InnerException == null
---
После добавления файлов:
ssceca20.dll
sscemw20.dll
\temp> sqlce
OS: Microsoft Windows CE 4.20.0
CF: 1.0.4292.0
File Test.sdf was not found
--- Start Exception block---
System.Data.SqlServerCe.SqlCeException:SqlCeException
SqlCeException
InnerException == null
--- End Exception block---
За это время я немного доработал код SqlCE.exe:
namespace SqlCE
{
internal class Program
{
private static void Main(string[] args)
{
Console.WriteLine("\n\rOS: " + Environment.OSVersion);
Console.WriteLine("CF: " + Environment.Version);
try
{
if (File.Exists("\\Temp\\Test.sdf"))
{
File.Delete("\\Temp\\Test.sdf");
Console.WriteLine("File Test.sdf was deleted");
}
else
{
Console.WriteLine("File Test.sdf was not found");
}
string connStr = "Data Source = \\Temp\\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("\\Temp\\Test.sdf"))
{
Console.WriteLine("File Test.sdf created");
}
else
{
Console.WriteLine("File Test.sdf was not created");
}
}
catch (SqlCeException err)
{
Console.WriteLine("\n\r--- Start SqlCeException block---\n\r");
Console.WriteLine();
Console.WriteLine(err.ToString());
Console.WriteLine(err.Message.ToString());
if (err.InnerException != null)
Console.WriteLine(err.InnerException.ToString());
else
{
Console.WriteLine("InnerException == null");
}
Console.WriteLine("\n\r--- End SqlCeException block---\n\r");
}
catch (Exception e)
{
Console.WriteLine("\n\r--- Start Exception block---\n\r");
Console.WriteLine();
Console.WriteLine(e.ToString());
Console.WriteLine(e.Message.ToString());
if (e.InnerException != null)
Console.WriteLine(e.InnerException.ToString());
else
{
Console.WriteLine("InnerException == null");
}
Console.WriteLine("\n\r--- End Exception block---\n\r");
}
}
}
}
Вопрос, чего ему еще не хватает!!???
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>