无法使用Entity Framework 5.0在远程服务器上创建数据库

时间:2012-11-11 15:24:01

标签: sql-server entity-framework

我首先使用Entity Framework 5.0代码来创建我的数据库。这个框架工作正常,并在我的本地mysql实例上创建一个数据库。但是,如果我尝试指向远程服务器上的sql server,那么我发现了很多困难。我已经更改了连接字符串,并在DBContext构造函数(DBRisk)中使用了下面的代码,以便我指向我的远程数据库。

 public RiskDB()
 {
     this.Database.Connection.ConnectionString = 
         "Data Source=Data Source=217.111.222.194;Initial Catalogue=RiskDB;User ID=xxx;Password=yyy";
 }

我已经遵循了stackoverflow的建议并且没有解决方案

这是错误 - 它似乎表明它的目标是一个sql ce数据库。我不知道如何解决这个问题并在正确配置连接字符串的情况下迁移到正确的远程数据库。数据库的权限可以用于创建数据库

错误

检查上下文是否以现有数据库为目标......

  

System.Reflection.TargetInvocationException:抛出了异常   通过调用的目标。 ---> System.ArgumentException:关键字   不支持:'初始目录'。在   System.Data.Common.DbConnectionOptions.ParseInternal(哈希表   parsetable,String connectionString,Boolean buildChain,Hashtable   同义词,Boolean firstKey)目标抛出了异常   一个调用。

为SQL Server配置连接字符串并为SQLCE配置迁移器提供程序时,会发生此错误。

1 个答案:

答案 0 :(得分:1)

尝试将"Data Source=Data Source=217.111.222.194;替换为"Data Source=217.111.222.194;

根据http://www.connectionstrings.com/sql-server-2012,连接字符串可能是:

对于标准安全:
Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;

来自CE设备的可信连接:
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI; User ID=myDomain\myUsername;Password=myPassword;