Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 连接字符串_Sql_Sql Server_Database_Web Services_Connection String - Fatal编程技术网

Sql 连接字符串

Sql 连接字符串,sql,sql-server,database,web-services,connection-string,Sql,Sql Server,Database,Web Services,Connection String,我的连接字符串有问题。从服务器使用web服务时,我看到以下错误: 初始化字符串的格式不符合从索引114开始的规范 但在本地主机我没有任何问题。我的连接字符串是: name="DB_nodeEntities1" connectionString="metadata=res://*/Models.Node.csdl|res://*/Models.Node.ssdl|res://*/Models.Node.msl; provider=System.Data.SqlClient; pro

我的连接字符串有问题。从服务器使用web服务时,我看到以下错误:

初始化字符串的格式不符合从索引114开始的规范

但在本地主机我没有任何问题。我的连接字符串是:

name="DB_nodeEntities1"        
connectionString="metadata=res://*/Models.Node.csdl|res://*/Models.Node.ssdl|res://*/Models.Node.msl;
provider=System.Data.SqlClient;
provider connection string="
data source=xx.xxx.xxx.xx,1433;
initial catalog=my db name;
integrated security=True;
MultipleActiveResultSets=True;
App=EntityFramework"
User Id=my id;
Password=my pass" 
providerName="System.Data.EntityClient"

我认为这与服务器安全策略有关。 例如,某些SQL server不允许您进行远程访问,您应该在本地连接。也许发生在你身上的事情就是这样。在这种情况下,托管服务和数据库引擎应该在同一台服务器上,也请与服务器管理员联系

当异常发生时请告诉我,当您在计算机上以调试模式运行网站时是否会发生异常?如果是,我建议您在服务器上测试它

另外,您的服务器类型(Linux和Windows)是什么,您使用哪种语言来实现。 但是,如果您使用windows server作为主机和数据库引擎,并在.Net framework中实现,我会根据您的错误提出一些建议。 首先检查一下这个。
其次,如果您无法连接,请直接在SQL Server management studio中检查您的连接,这样可以清楚地显示您没有权限,并且第一个理论得到确认。

您是否厌倦了通过UDL文件创建连接字符串并将其复制粘贴到代码中

  • 打开文件资源管理器,在您喜欢的任何地方创建一个新的文本文件,但将扩展名改为.udl而不是.txt
  • 双击打开新的.udl文件,您将看到以下内容
  • “提供程序”选项卡允许您选择要连接到的数据源类型,然后选择Microsoft OLE DB provider for SQL Server
  • 在“连接”选项卡上,您可以单击服务器名称的下拉列表,它将显示找到的可连接到的SQL server的列表。在过去,我看到这不太好用,所以你可以手动输入你的服务器名。然后,您可以指定登录类型,即Windows身份验证(使用当前登录的用户详细信息登录SQL Server)或提供用户名和密码
  • 您会注意到,在特定用户名和密码的选项中有两个勾选框。如果您想要使用的登录不需要密码,请确保您检查空白密码框,因为只留下密码TeBox空白将不起作用。“允许保存密码”将密码值保存为连接字符串中的原始文本值(即,易于读取)。您可以在应用程序配置文件中加密连接字符串,我将在后面解释,我总是勾选此框,但这将由您决定
  • 现在,您已经准备好在服务器上选择要连接的数据库,单击服务器上数据库下拉菜单上的下拉箭头将显示您能够连接到的所有数据库,以及刚才提供的登录详细信息
  • 完成所有这些之后,单击TestConnection,它应该可以工作了。如果您遇到任何故障,消息框将提供一些帮助,但很可能是错误的登录详细信息,或者您无法访问数据库
  • 现在单击“确定”关闭此对话框,任何其他关闭此对话框的方法都将丢失您的工作。在文件资源管理器中,右键单击.udl文件,选择“打开方式”,然后选择“记事本”(或任何其他文本编辑器)
  • 现在在记事本中,您有了连接字符串!您只需要复制在Provider=SQLOLEDB.1;之后开始的部分
    我有一篇博客文章解释了如何做到这一点。

    删除集成安全和trysorry,不起作用。但是谢谢你的提问,为什么你要使用2个提供者SqlClient和EntityClient?也许您应该尝试使用其中一个?您可以使用sql server management studio连接到您的数据库吗?虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能无效。-很抱歉,我现在就编辑我的帖子,但我完全同意你的看法。我可以要求取消否决票吗?