Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.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
Visual studio 2012使用外部数据库发布项目c#_C#_Sql_Sql Server_Publish - Fatal编程技术网

Visual studio 2012使用外部数据库发布项目c#

Visual studio 2012使用外部数据库发布项目c#,c#,sql,sql-server,publish,C#,Sql,Sql Server,Publish,我需要你们帮助我如何正确发布我在VisualStudio上创建的项目 以下是我的项目在本地计算机(以及发布文件)上成功运行的情况,但当我尝试运行它时(出于对另一台计算机的测试目的,由于sql连接,我会收到错误消息)。 我的应用程序通过连接字符串连接到Sql数据库(数据源=HP-PC\SQLEXPRESS;初始目录=股票;集成安全性=True) 我使用Sql Manager处理数据库,以下是我在尝试将应用程序运行到另一台计算机时收到的一些错误: System.Data.SqlClient.SqlE

我需要你们帮助我如何正确发布我在VisualStudio上创建的项目

以下是我的项目在本地计算机(以及发布文件)上成功运行的情况,但当我尝试运行它时(出于对另一台计算机的测试目的,由于sql连接,我会收到错误消息)。 我的应用程序通过连接字符串连接到Sql数据库(数据源=HP-PC\SQLEXPRESS;初始目录=股票;集成安全性=True)

我使用Sql Manager处理数据库,以下是我在尝试将应用程序运行到另一台计算机时收到的一些错误:

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
据我所知,我的发布选项可能根本不包含数据库

如何使用外部数据库正确发布项目?还是最好在项目中包含我的数据库

英文错误(使用谷歌翻译)是:

创建到SQL Server的连接时出现网络错误或特定实例错误。找不到服务器或无法访问服务器。确保实例名称正确,并且SQL Server已配置为允许远程连接。(提供程序:SQL网络接口,错误:26-服务器/会话检测错误)

这意味着您的应用程序无法连接到SQL Server。首先要检查的是:

您是否能够从部署应用程序的计算机手动连接到SQL Server

SQL Server可能未配置为接受来自远程计算机的连接

有一篇很好的文章介绍了解决连接问题的分步方法:


大家好,经过大量搜索和测试,我找到了解决问题的最佳方案,我想与大家分享。 问题是服务器名,没有其他原因(我没有任何用户名或密码),所以在我的代码中,我只更改连接字符串中的一个值

"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"
现在一切都很好,我可以在任何计算机上测试我的应用程序了

谢谢你们的时间和帮助

友好的问候,,
Jim

您是如何尝试发布数据库的?您是否使用Microsoft SQL Server作为数据库?您好,是的,我使用Microsoft SQL Server,这是我的问题我不知道如何正确发布数据库,我尝试将其导出并手动导入“测试pc”我以前也使用Microsoft Sql Server,我有傻瓜访问权限,但它仍然不工作Hi Subbu感谢您的回复和帮助,我可以访问Sql Server,但我发现很难正确配置它,因此我认为最好的解决方案是在项目sin中导入数据库,但我会先尝试您发送给我的文章中的说明,当我将数据库上传到远程服务器时,我能够正常运行它,但我希望我的应用程序在本地运行到另一台计算机,因为我要安装它的计算机将没有internet连接。谢谢你的时间和帮助,吉姆