2017-07-15 175 views
0

我需要你的幫助傢伙如何正確發佈我在Visual Studio上創建的項目。Visual Studio 2012發佈項目與外部數據庫的C#

這是我的項目在我的本地計算機(以及發佈文件)上成功運行的東西,但是當我嘗試運行它(用於測試目的到另一臺計算機時,由於sql連接收到錯誤消息)。 我的應用程序通過連接字符串(數據源= HP-PC \ SQLEXPRESS;初始目錄= Stock;集成安全性= True)連接到Sql數據庫。

我處理與SQL管理數據庫,這裏是一些我收到的時候我嘗試我的應用程序運行到另一臺計算機的錯誤:

System.Data.SqlClient.SqlException (0x80131904): Παρουσιάστηκε ένα σφάλμα δικτύου ή ένα σφάλμα που αφορά μια συγκεκριμένη παρουσία κατά τη δημιουργία μιας σύνδεσης σε SQL Server. Δεν ήταν δυνατή η εύρεση του διακομιστή ή ο διακομιστής δεν ήταν προσβάσιμος. Βεβαιωθείτε ότι το όνομα παρουσίας είναι σωστό και ότι ο SQL Server έχει ρυθμιστεί ώστε να επιτρέπει τις απομακρυσμένες συνδέσεις. (provider: SQL Network Interfaces, error: 26 - Προσδιορίστηκε σφάλμα εντοπισμού διακομιστή/περιόδου λειτουργίας) 
    σε System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) 
    σε System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) 
    σε System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) 
    σε System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) 
    σε System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) 
    σε System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) 
    σε System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) 
    σε System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) 
    σε System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) 
    σε System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) 
    σε System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) 
    σε System.Data.SqlClient.SqlConnection.Open() 
    σε System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) 
Error Number:-1,State:0,Class:2 

propably我瞭解我的發佈選項中不包含在所有的分貝。

如何正確發佈我的項目與外部數據庫?或者更好地將我的數據庫包含在項目中?

+0

你是怎樣嘗試發佈的數據庫? –

+0

您是否使用Microsoft SQL Server作爲數據庫? –

+0

嗨,是的,我使用Microsoft Sql Server,這是我的問題我不知道如何發佈我的數據庫正確,我試圖導出它,並手動將其導入到「測試電腦」,我也用微軟Sql Server和我有傻瓜訪問,但仍然不工作 –

回答

0

嗨,大家好很多搜索和測試後,我發現我的問題,我的最佳解決方案想與你分享。 那麼問題是服務器名稱,沒有別的,因爲(我沒有任何的用戶名或密碼),所以在我的代碼我剛剛從

"Data Source= HP-PC\\SQLEXPRESS;Initial Catalog=Stock;Integrated Security=True" 

更改連接字符串單個值要

string hostName = System.Net.Dns.GetHostName(); 

"Data Source= '"+hostname+'"\\SQLEXPRESS;Initial Catalog=Stock;Integrated Security=True" 

和一切都很好,現在我可以測試我的應用程序,以任何電腦!

謝謝你們的時間和幫助,

友好的問候, 吉姆

0

(使用谷歌翻譯)的英文錯誤是:

There was a network error or a specific instance error when you created a connection to SQL Server. The server could not be found or the server was not accessible. Make sure the instance name is correct and that SQL Server is configured to allow remote connections. (Provider: SQL Network Interfaces, error: 26 - Server/session detection error)

這意味着你的應用程序不能連接到您的SQL Server。首先要檢查的是:

您能否從已部署應用程序的機器手動連接到SQL Server?

很可能SQL Server未配置爲接受來自遠程計算機的連接。

有上一步一步的方式好文章來解決連接問題:

https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/troubleshoot-connecting-to-the-sql-server-database-engine

+0

嗨Subbu謝謝你的答覆和你的幫助,我有權訪問Sql服務器,但我覺得很難正確配置它,所以我相信對我來說最好的解決方案是導入數據庫裏面的項目罪惡,但我會嘗試您首先發送給我的文章的說明,當我上傳我的數據庫到我的遠程服務器時,我能夠正確運行它,但我希望我的應用程序在本地運行到另一臺計算機,因爲我想要安裝它的計算機將無法連接互聯網。謝謝你的時間和你的幫助 –