我有一个JBoss应用程序,我从我们在本地运行的生产系统中复制。此应用程序连接到SQL Server数据库。我在本地复制了这个数据库,可以用MS SQL server studio浏览它。经过与SQL Server中的用户和TCP连接设置的长期斗争。现在我可以看到JBoss和我的数据库副本之间的连接是如何在本地完成的。
但是,我面临的问题是我遇到了很多例外情况,比如
引起:com.microsoft.sqlserver.jdbc.SQLServerException:无效 对象名'table_name'。
显然,table_name存在于SQL数据库中,因为我可以使用JBoss用来连接的同一用户从SQL工作室浏览它。一个有趣的事情是,当我浏览表格时,我看到它们的名称形式为:'schemaName.table_name'所以我唯一的猜测是,从JBoss发送的查询需要模式。这可能是SQL中配置的问题,因为JBoss是相同的,JBoss中的jar也是相同的,唯一可能不同的是为SQL数据库创建用户。
论坛中是否有人知道问题可能是什么,或者我如何为某个用户指定默认架构,因此它在JDBC连接中使用?
答案 0 :(得分:0)
为用户分配默认架构: 在SQL Server Management Studio中,转到Security / Logins / YourUser / UserMapping。在那里,您可以为每个数据库设置默认架构,这样您就不必在表名之前键入架构。