我有一个旧的 asp.net 1 项目(它在旧服务器上运行良好,mytable 存在于数据库中。现在我正在尝试将其升级到 asp.net 4
我的连接字符串是:
<add key="SqlConnection"
value="DRIVER={SQL Server};SERVER=bel\SQLEXPRESS;Trusted_connection=yes;DATABASE=mydb;option=3;"/>
我收到错误
ERROR [42S02] [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'mytable'.
OdbcCommand dataCommand = new OdbcCommand("select * from mytable", dataConnection);
dataCommand.CommandTimeout = 900;
OdbcDataReader dataReader = dataCommand.ExecuteReader(CommandBehavior.CloseConnection);
当我将 SQL 编写为 select * from mydb.dbo.mytable
时,一切正常
我应该在数据库设置(安全性、架构、dbo)或连接字符串中更改哪些内容?
最佳答案
看到您使用的是 ODBC,我的猜测是您的 ODBC 连接没有指定默认数据库,因此它使用的是 master。
您可以:
- 使用“Database=myDBname”或“InitialCatalog=myDBname”在连接字符串中指定数据库
- 更改 ODBC 连接中的默认数据库,如 XP/Server 2003 中所示
关于sql-server - SQL SERVER ODBC 错误(对象名称无效),但是当我添加 SQL 查询 mydb.dbo.mytable 时一切正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7504006/