我目前正在编写一个程序,允许管理员查看SQL 2008 R2数据库中的某些表并对其进行更改。我已经在我的开发笔记本电脑上托管的数据库上彻底测试了代码,但我发现没有任何问题。但是,当我切换到远程连接时,我开始收到错误。
我遇到的问题是,从数据库收集数据的任何尝试都只提供列数。如果我要进行SELECT * FROM table
查询并将其放入DataGridView
控件中。无论我选择哪个表,我用来收集数据的SqlDataReader
都会返回表中确切的字段数。此外,我的代码实际登录数据库以收集数据没有问题。如果我在笔记本电脑上定位本地数据库时运行完全相同的代码,我会从该数据库中获取该表中的所有行。
所以,我从远程连接获取数据,它只是获取表中的列数而没有行。我启用了TCP/IP
个连接,我正在使用服务器浏览器,SQL使用的所有端口及其进程都在服务器上打开。
任何有解决这个问题的人,或者甚至是为什么会发生这种问题的原因都将受到高度赞赏。谢谢!
编辑,解决: 好吧,我弄清楚问题是什么。我的App.config连接字符串被两个字符关闭,并从当前数据库的旧副本中获取数据。这就是为什么它在数据库中获得相同数量的列但仍然无法向我所拥有的数据表写入任何内容。相同数量的列,不同的列名称。因此,当我去分配数据时,它正在寻找“productType”(新数据库),而不是像“productTypeID”(旧数据库)那样。