2011-05-09 41 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。這樣,它可用於應用程序可能運行的任何登錄。

相關問題