无法连接到SQL Server,但Excel和ODBCconfiguration可以
我有一个C#程序连接到SQL Server。 它在SQL Server 2012的testing计算机上正常工作,但在2008年的生产环境中无法正常工作。在生产环境中,它会报告exception,
未处理的exception:System.Data.SqlClient.SqlException:build立到SQL Server的连接时出现networking相关或站立特定的错误。 服务器未find或无法访问。 validation实例名称是否正确,并将SQL Serverconfiguration为允许远程连接。 (提供程序:命名pipe道提供程序,错误:40 – 无法打开连接到SQL Server) – – > System.ComponentModel.Win32Exception:访问被拒绝
这里是我的连接代码,
connStrSql = "Server=" + sqlserver + "; Database=" + sqldb + "; Trusted_Connection=True"; SqlConnection sqlConn = new SqlConnection(connStrSql) sqlConn.Open();
目标平台是x86,目标框架是4.5。 有趣的是,Excel和ODBCconfiguration可以连接到数据库没有抱怨。 C#程序是否使用不同的方式连接到SQL Server? 我该如何解决这个问题?
有很多可能的原因,您无法连接到SQL Server数据库。 这是一个很大的麻烦射击指南,以帮助您解决上述错误。
简述:
- SQL Server服务正在运行吗?
- SQL Server的TCP / IP设置是否已configuration?
- 防火墙设置是否允许SQL Server通过?
- SQL Server本身configuration是否允许远程连接?
其他事情要考虑
-
sqlserver
的值是否正确? - 您用来连接到SQL Server的客户端协议(如“
Named Pipes
)是否已启用?
在较新版本的SQL Server中被远程连接拒绝的最常见原因之一是SQL浏览器未打开。 它在安装后默认closures。 另一个常见的原因是你没有特定的协议(在这种情况下,网pipe)打开,但我会检查SQL浏览器,因为它可能是closures的。
可能是生产中的防火墙/安全限制 – 尝试针对本地SQL2008数据库运行,因为我只是针对SQL2008运行代码,它确实使用正确的sqlserver和sqldb参数,并更改下面的行(缺less;)
SqlConnection sqlConn = new SqlConnection(connStrSql);
试试这个SQL Server连接:
附加连接到本地SQL Server Express实例的数据库文件
Server=.\SQLExpress;AttachDbFilename=C:\MyFolder\MyDataFile.mdf;Database=dbname; Trusted_Connection=Yes;
附加数据库文件,位于数据目录中,连接到本地SQL Server Express实例
Server=.\SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf;Database=dbname; Trusted_Connection=Yes;
试试这个Excel连接string
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx; Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=1";
如果连接string有任何其他问题,请参阅本网站
MS-Excel: http : //www.connectionstrings.com/excel/
MS SQL Server: http : //www.connectionstrings.com/sql-server/
谢谢,NB
- ADO.NET c#填充Excel表格
- 用ADO.NET读取内存中的Excel文件(字节数组)?
- 该字段太小,无法接受您尝试添加的数据量。 有没有人从ADO.NET得到这个错误?
- 使用C#读取Excel文件(希望一切都是string)
- 使用Microsoft.ACE.OLEDB.12.0加载到数据集时,Excel数据列名称发生更改
- 无需打开excel文件即可读取数据
- 使用无第一行的ADO.NET头文件从Excel工作表获取数据
- C#使用oledb读取excel数据并以指定格式格式化并插入到SQL Server数据库中
- 将Excel文件读入.NET应用程序的更快的方法是:ADO.net或Microsoft.Office.Interop.Excel.Application?