c# - 无需安装程序即可连接到 SQL Server
问题描述
谁能解释会发生什么?
C# 程序:单击按钮 - 得到一个列表。
- VS 2017
- 简单的 Windows 窗体 - 一个按钮,一个网格
- 简单类型的数据集 - 一个表适配器,从
Client
表中简单选择 - 到远程(!)SQL Server 的连接字符串
(代码或连接字符串没有问题)
在我执行以下操作之前:编译此程序,将Release
文件夹复制到客户端计算机并运行。
几周前,这个程序停止工作 - 可能是在一些 Windows 更新之后:它运行并且当我按下按钮时,它无法连接到 SQL Server(超时、网络相关或特定于实例的错误......等)
但在同一台计算机上,我可以使用sqlcmd
实用程序或 Management Studio 连接到 SQL Server。
该程序在开发人员和其他一些计算机上运行良好。但在某些客户上 - 没有。
经过研究,我发现以下内容:
- 如果我使用 ClickOnce 或 msi 安装程序 - 它可以工作
- 如果我然后将程序复制到不同的文件夹,它就找不到服务器了
- 关闭防火墙没有任何效果
- 即使程序文件夹位于网络文件夹中,它仍然可以在其他一些计算机上正常工作(无需安装)。
- 我玩符号/清单 - 没有得到任何积极的结果。
我不想在每个客户端上安装/卸载程序 - 我只想从闪存/网络/本地副本运行它。
如何运行它?有什么解释或想法吗?
更新:
为了简化问题 - 有代码:
private void button3_Click(object sender, EventArgs e)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand("select count(*) from clients", connection);
command.Connection.Open();
var zz = command.ExecuteScalar();
MessageBox.Show("res " + zz.ToString());
}
}
解决方案
推荐阅读
- c++ - 我可以在 Python 示例代码中使用开发人员而不是 OAuth,但对于 C++ 吗?
- node.js - Google Cloud Text-to-Speech 通过 Node.js API 读取输出数据文件并在媒体播放器中输出语音
- javascript - angular js foreach在推入数组之前检查重复值
- r - 如何隐藏 e_pie (Echarts4r) 上的标签?
- pandas - Pandas 中估算缺失值的模式
- php - 为什么 index.php 出现在我的图片链接路径中?
- reactjs - 传递给组件时,道具从对象变为未定义
- postgresql - 我相信我的 express 服务器在部署到 heroku 后无法连接到我的数据库。HTML/CSS 可见,但 DB 内容不可见
- android - 如何强制关闭 GetX Snackbar?
- python - 客户使用 Pandas 计算启动次数