2011-05-09 76 views
0

我有一个查询,工作正常,在我的地方,但是当放置在服务器上它回来与此错误,DB连接〜工作地方不在服务器上

服务器错误页面“中的应用。

ERROR [IM002] [微软] [ODBC驱动程序管理器]数据源名称找不到和未指定默认驱动程序

说明:在当前Web请求的执行过程中发生未处理的异常。请查看堆栈跟踪以获取有关该错误的更多信息以及源代码的位置。

异常详细信息:System.Data.Odbc.OdbcException:ERROR [IM002] [微软] [ODBC驱动程序管理器]数据源名称找不到和未指定默认驱动程序

源错误:

未处理在执行当前Web请求期间生成异常。关于异常的来源和位置的信息可以使用下面的异常堆栈跟踪来标识。

堆栈跟踪:

[OdbcException(0x80131937):ERROR [IM002] [微软] [ODBC驱动程序管理器]数据源名称未找到和指定默认驱动程序] System.Data.Odbc.OdbcConnection.HandleError (OdbcHandle hrHandle,RETCODE RETCODE)1159314 System.Data.Odbc.OdbcConnectionHandle..ctor(OdbcConnection连接,OdbcConnectionString构造,OdbcEnvironmentHandle environmentHandle)95 System.Data.Odbc.OdbcConnectionOpen..ctor(OdbcConnection outerConnection,OdbcConnectionString connectionOptions) +53 System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions选项,对象poolGroupProviderInfo,DbConnecti onPool池的DbConnection owningObject)+55 System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(的DbConnection owningConnection,DbConnectionPoolGroup poolGroup)+29 System.Data.ProviderBase.DbConnectionFactory.GetConnection(的DbConnection owningConnection)4866464 System.Data.ProviderBase。 DbConnectionClosed.OpenConnection(的DbConnection outerConnection,DbConnectionFactory connectionFactory的)117 System.Data.Odbc.OdbcConnection.Open()40 System.Data.Common.DbDataAdapter.QuietOpen(的IDbConnection连接,ConnectionState & originalState)31 System.Data .Common.DbDataAdapter.FillInternal(DataSet数据集,DataTable [] datatables,Int32 startRecord,Int32 maxRecords,String srcTable,IDbCommand命令,CommandBehavior行为)+112 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet,Int32 startRecord,Int32 maxRecords,String srcTable,IDbCommand command,CommandBehavior behavior)+287 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet,String srcTable)+92 (DataSourceSelectArguments参数)+1297 System.Web.UI.WebControls.BaseDataList.GetData()+38 System.Web.UI.WebControls.DataGrid.CreateControlHierarchy(Boolean useDataSource)System.Web.UI.WebControls.DataGrid.CreateControlHierarchy(Boolean useDataSource)System.Web.UI.WebControls.DataSourceView.ExecuteSelect +153 System.Web.UI.WebControls.BaseDataList.OnDataBinding(EventArgs e)+54 System.Web.UI.WebControls.BaseDataList.DataBind()+55 System.Web.UI.WebControls.BaseDataList.EnsureDataBound() +60 System.Web.UI.WebControls.BaseDataList.OnPreRender(EventArgs e)+15 System.Web.UI.Control.PreRenderRecursiveInternal()+80 System.Web.UI.Control.PreRenderRecursiveInternal()+171 System.Web.UI.Control.PreRenderRecursiveInternal()+171 System.Web.UI.Page 。ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)+842

任何想法? 欢呼!

回答

0

您正在使用ODBC连接到服务器。您必须确保,如果您使用在服务器上创建它的DSN(存储在服务器上的名为ODBC连接),则此代码正在运行。如果您使用无DSN连接(您在代码中进行设置),则需要确保您使用的ODBC驱动程序已安装在服务器上。

DSN的连接字符串可能是这样的:

Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase; Trusted_Connection=yes; 

不是所有的人指定一个驱动程序,但在这种情况下它。您需要确保您的服务器上安装了“SQL Native Client”驱动程序。一台DNS连接将在此字符串中的DSN条目代替,就像这样:通过您的代码

DSN=MyDBConnection; 

看,你会发现,你有。一旦你发现了,找出你需要放在服务器上。很可能你需要添加一个DSN到服务器。这是通过转到控制面板并搜索ODBC来完成的。一旦你在那里,你可以创建一个新的ODBC条目来匹配你的开发机器上的条目。下面是创建ODBC(DSN)条目的链接:

http://support.microsoft.com/kb/305599

确保你的系统,而不是用户选项卡下创建一个DNS。这样,它可用于应用程序可能运行的任何登录。

相关问题