使用Sql Server和MVC从localhost计算机连接到远程数据库

时间:2016-10-17 05:47:37

标签: sql-server asp.net-mvc model web-hosting

我已经构建了一个MVC应用程序并且它运行良好。我在MVC项目中创建了一个模型,用于从本地Microsoft SQL Server 2014访问数据库,并生成模型并正常工作。

现在我必须将我的项目整个解决方案托管到htdocs文件夹并上传我的数据库。在托管网站上我的所有东西都正常工作,但问题是我的数据库无法正常工作。我不知道如何配置我的网站。

我认为web.config文件中存在连接字符串问题,因为连接字符串和数据库之间没有建立连接。

 <connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=.;Initial Catalog=StarBuy;Integrated Security=SSPI;" providerName="System.Data.SqlClient" />
<add name="StarBuyEntities1" connectionString="metadata=res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.;initial catalog=StarBuy;user id=hidden;password=hidden;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>

是否有方法将数据库从托管网站导入本地Microsoft SQL Server 2014,以便我可以更新模型并更新web.config文件中新生成的连接字符串?

非常感谢您的想法。

4 个答案:

答案 0 :(得分:1)

使用此连接字符串。

<connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=.;Initial Catalog=StarBuy; user id=**;password=**;" providerName="System.Data.SqlClient" />
    <add name="StarBuyEntities1" connectionString="metadata=res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.;initial catalog=StarBuy;user id=hidden;password=hidden;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />  
</connectionStrings>

答案 1 :(得分:1)

在Sql Server&#39;。&#39;用于连接本地。现在您的数据库位于远程服务器中。

所以而不是。符号使用服务器名称

例如 - 服务器名称是&#39; 192.168.1.1 \ SERVER02&#39;

 <add name="DefaulConnection" connectionString="Data Source=192.168.1.1\SERVER02;Initial Catalog=DATABASE_NAME;Persist Security Info=true;User ID=USER_NAME;Password=PASSWORD" providerName="System.Data.SqlClient" />

试试它会起作用。

答案 2 :(得分:0)

将源if (isset($_GET['period'])) { $collection = $this->selectCollection(); // public function for setting the collection. $start = $_GET['start_date']; $end = $_GET['end_date']; print_r($_GET['start_date']); // Outputs : 1476489600000 print_r($_GET['end_date']); // Outputs : 1476662400000 $result = $collection->find(array("OrderedOn" => array('$gt' => $start, '$lt' => $end))); print_r($result); } 替换为正确的数据库服务器名称。即youripaddress \ SQL2014或您的情况适用的任何内容。

SQL

在我的情况下,我可以将其作为.或ipaddress / SQL2014

进行访问
JIBIN/SQL2014

否则您可以使用您的IP访问您的数据库。

答案 3 :(得分:0)

只有当数据库服务器与应用程序服务器相同时,才能使用服务器名称的点(。)。使用正确的数据库服务器名称/ IP而不是(点)。如果您使用Plesk等任何服务来托管您的应用程序,您应该在主机控制面板中找到连接字符串。