Выполнить / Запрос против SQL Compact 4.0 в ASP.NET - PullRequest
1 голос
/ 30 сентября 2010

Я пишу небольшую утилиту для MVC-приложения, и мне нужно иметь возможность выполнять специальные запросы к моему однотабличному .sdf-файлу SQL Compact 4.0 для управления (Web Matrix не подходит для разработки,и он не будет доступен на ПК, на котором в конечном итоге он будет работать).Используя код Entity Framework во-первых, все работает нормально, но для выполнения специального запроса я решил, что мне нужно подключиться к нему так же, как в дни до EF (см. Ниже)

            cn = new SqlConnection("Data Source=|DataDirectory|LocalScanData.sdf");
            SqlCommand cmd = new SqlCommand(query, cn);

            if (cn.State != ConnectionState.Open) cn.Open();

            if (query.ToUpper().StartsWith("INSERT") || query.ToUpper().StartsWith("UPDATE") || query.ToUpper().StartsWith("DELETE"))
            {
                TempData["RowsAffected"] = cmd.ExecuteNonQuery();
                return RedirectToAction("SQL");
            }
            else
            {
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();

                da.Fill(dt);

                return RedirectToAction("SQL", dt);
            }

Но когда я пытаюсь это сделать, я получаю A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server).Итак, вопрос, как я могу подключиться к базе данных SQL CE 4.0 по старинке?Я также пытался использовать System.Data.SqlServerCe, но затем я получаю сообщения об ошибках, которые заставляют меня поверить, что это работает только для баз данных CE 3.5.

Любая помощь?

1 Ответ

1 голос
/ 04 сентября 2012

Это случилось и со мной тоже. Так работает sdf ddbb, вы не можете выполнить запрос против этого. Вы должны создать набор данных, dataadapter и т. Д.

...