问题标签 [mssql-jdbc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - 带 IF() 语句的 MSSQL 选择查询
我有 MYSQL 查询,它工作正常查询是:
我试图在 MSSQL 中执行相同的查询,但它抛出错误。错误是:
我对这个查询做错了吗?
sql-server - MSSQL 查询应该返回与 MYSQL 相同的结果
我有 MYSQL 查询并且工作正常查询是:
上面的查询返回单个记录如果我GROUP BY tst_type
在这个查询中添加它会返回多个值。
我在 MSSQL 中尝试的查询没有GROUP BY tst_type
,它显示错误
错误是:列 'tst_type.tst_type' 在选择列表中无效,因为它不包含在聚合函数或 GROUP BY 子句中。
之后添加GROUP BY tst_type
到 MSSQL 查询中,然后工作正常并返回多个值。
但我的要求是它应该返回与 MYSQL 相同而不添加 GROUP BY fn 或者应该返回单个值,如 MYSQL
sql-server - SQL Server:传递给 LEFT 或 SUBSTRING 函数的长度参数无效
我正在尝试执行 SQL ServerSUBSTRING
查询,但它抛出错误。
查询是:
错误是:
消息 537,级别 16,状态 5,第 1 行
传递给 LEFT 或 SUBSTRING 函数的长度参数无效。
这个查询有什么问题吗?
sql-server - RJDBC 无法从 MSSQL 服务器读取表
我在本地运行 R,数据库远程位于 MS SQL 服务器上。
我做我的准备工作:
然后我检查是否可以读取某些表的标题:
作品。接下来我尝试阅读完整的表格:
失败:
以 SQL 方式执行此操作也会失败:
失败:
并且没有引号:
失败:
知道为什么这会失败吗?
java - MS SQL 上的 HikariCP 语句缓存 (microsoft JDBC driver 4.1)
如何在 MS SQL RDBMS 中为 HikariCP 连接池启用语句缓存?
对于 MySQL,它是通过:
对于 PostgreSQL,通过:
对于 Oracle,以下工作:
但我没有找到任何适用于 MS SQL 2012 及更高版本的东西。
java - 如何设置使用 OPENQUERY 的 Prepared Statement 查询的参数以避免 SQL 注入
在我的 java 应用程序中,我使用 OPENQUERY 在远程链接的 MSSQL 服务器中执行 SQL 查询并获取结果。下面是我正在使用的 OPENQUERY 示例:
在我的 Java 类中,我使用 PreparedStatement 如下执行上述 OPENQUERY,如下所示:
上面的代码按预期工作。然而问题是它对 SQL 注入负责,并且 HP Fortify 将其报告为 SQL 注入易受攻击。
我试图将上面的代码更改为在 PreparedStatement 上使用 setString,如下所示。
然而,上面的代码并没有像我期望的那样工作。在运行时,我在调用 ps.executeQuery() 时遇到以下异常:
我不清楚上面的代码有什么问题。似乎 MSSQL jdbc 驱动程序不喜欢它,并且调用 PreparedStatement 上的 setString 方法没有正确设置参数。
有没有人遇到过这个问题并解决了?任何指向解决此问题的指针表示赞赏。
sql-server - MYSQL 查询只有 LIMIT,如何将查询修改为 MSSQL
我正在尝试将查询转换为 FROM MYSQL
TO MSSQL
。MYSQL查询:
MSSQL 查询:
如果我在 MYSQL 中有 limit x
,则意味着我将在 MSSQL 中使用and 。但是,是在我的 java 代码运行时动态附加的。查询只有在MYSQL中,那么我怎样才能将查询修改为MSSQL。y
BETWEEN
x
y
x
y
LIMIT
mysql - SUM () ,CROSS JOIN 查询
我使用 SUM 和 CROSS JOIN 进行 MYSQL 查询,它工作正常。
MYSQL查询:
但我试图在 MSSQL 中执行相同的查询,显示“列 'd.total' 在选择列表中无效,因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句中。”
之后,我在查询末尾添加了 GROUP BY a.total,错误是:除以零错误。
我在所有表中都有记录,查询错误吗?
mssql-jdbc - “ms sql” 表示 microsoft SQL Server 或 MS Access
在 netbeans 中,在“ms-sql”的新数据库连接期间,我得到:
无法使用 com.microsoft.sqlserver.jdbc.SQLServerDriver 建立到 jdbc:sqlserver://localhost;databaseName=bombermario 的连接(到主机 localhost,端口 1433 的 TCP/IP 连接失败。
错误:“连接被拒绝:连接。验证连接属性,检查 SQL Server 实例是否正在主机上运行并在端口接受 TCP/IP 连接,并且没有防火墙阻止与端口的 TCP 连接。
sql - 带有 Liquibase 的 MS SQLServer JDBC 命令行 - 登录失败/TCP IP 异常/端口无效
我正在尝试使用 Liquibase 和 Microsoft JDBC Driver 4.1 连接到 Microsoft SQL Server 2008 SP3。我得到了各种异常,而不是通过命令行向服务器进行身份验证的单一成功方法。使用相同的用户名和密码,我可以通过 MS SQL 客户端登录到数据库。因此,该用户的登录问题不是问题。我相信问题出在 JDBC 驱动程序上。
版本:
1) SQL Server 2008 - SP3
2) Liquibase v3.3.2
3) JDBC 驱动程序-“Microsoft JDBC Driver 4.1 for SQL Server”-http ://www.microsoft.com/en-us/download/details.aspx?id=11774
4) JDK 版本 - 1.7.0_71" [Java(TM) SE Runtime Environment (build 1.7.0_71-b14), Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)]
我检查过的内容:
1)允许TCP/IP,标记为“YES”,端口1433
2) 安装 MS SQL 2008 SP3 以解决“2976923 2994310 FIX:使用 SQL Server 2008 R2 或 SQL Server 2008 时 Oracle 订阅的分发代理失败” - http://support.microsoft.com/kb/2653857
3) 为用户启用 SQL Server 身份验证和 Windows 身份验证
错误和命令行输入:
1 “com.microsoft.sqlserver.jdbc.sqlserverexception 用户登录失败”
命令行输入 -
一种。liquibase --driver=com.microsoft.sqlserver.jdbc.SQLServerDriver --classpath=C:\MicrosoftJDBC\sqljdbc_4.1\enu\sqljdbc4.jar --url="jdbc:sqlserver://DBServer" --username=abcd --password=abcd123 --changeLogFile=db-changelog.xml 更新
湾。liquibase --driver=com.microsoft.sqlserver.jdbc.SQLServerDriver --classpath=C:\MicrosoftJDBC\sqljdbc_4.1\enu\sqljdbc4.jar --url="jdbc:sqlserver://DBServer;databaseName=DBName;" --username=abcd --password=abcd123 --changeLogFile=db-changelog.xml 更新
C。liquibase --driver=com.microsoft.sqlserver.jdbc.SQLServerDriver --classpath=C:\MicrosoftJDBC\sqljdbc_4.1\enu\sqljdbc4.jar --url="jdbc:sqlserver://DBServer;databaseName=DBName;" ; --username=abcd --password=abcd123 --changeLogFile=db-changelog.xml 更新
2 - 运行 Liquibase 时出现意外错误:com.microsoft.sqlserver.jdbc.SQLServerException:端口号 1433\DBName 无效。
命令行输入 -
一种。liquibase --driver=com.microsoft.sqlserver.jdbc.SQLServerDriver --classpath=sC:\MicrosoftJDBC\sqljdbc_4.1\enu\qljdbc4.jar --url="jdbc:sqlserver://DBServer:1433/DBName" - -username=abcd --password=abcd123 --changeLogFile=db-changelog.xml 更新
湾。liquibase --driver=com.microsoft.sqlserver.jdbc.SQLServerDriver --classpath=C:\MicrosoftJDBC\sqljdbc_4.1\enu\sqljdbc4.jar --url="jdbc:sqlserver://DBServer:1433\DBName" - -username=abcd --password=abcd123 --changeLogFile=db-changelog.xml 更新
c.liquibase --driver=com.microsoft.sqlserver.jdbc.SQLServerDriver --classpath=C:\MicrosoftJDBC\sqljdbc_4.1\enu\sqljdbc4.jar --url="jdbc:sqlserver://DBServer\DBName" - -username=abcd --password=abcd123 --changeLogFile=db-changelog.xml 更新
3 运行 Liquibase 时出现意外错误:com.microsoft.sqlserver.jdbc.SQLServerException:与主机 DBServer/DBName、端口 1433 的 TCP/IP 连接失败。错误:“null。验证连接属性。确保 SQL Server 实例正在主机上运行并在端口接受 TCP/IP 连接。确保与端口的 TCP 连接未被防火墙阻止。”。
命令行输入 -
一种。liquibase --driver=com.microsoft.sqlserver.jdbc.SQLServerDriver --classpath=C:\MicrosoftJDBC\sqljdbc_4.1\enu\sqljdbc4.jar --url=jdbc:sqlserver://DBServer/DBName" --username= abcd --password=abcd123 --changeLogFile=db-changelog.xml 更新
我需要通过 liquibase 命令行参数而不是通过 Java 或 Maven 进行解析。我能够通过 Java 和 Maven 成功地对同一用户进行身份验证,但这并不能解决我自动化部署的目的。请帮助解决此问题。谢谢!