問題タブ [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
返します。このクエリに追加すると、複数の値が返されます。
GROUP BY tst_type
エラーを表示せずにMSSQLで試したクエリ
エラー: 列 'tst_type.tst_type' は、集計関数にも GROUP BY 句にも含まれていないため、選択リストでは無効です。
その後GROUP BY tst_type
、MSSQLクエリに追加され、正常に動作し、複数の値が返されます。
しかし、私の要件は、GROUP BY fnを追加せずにMYSQLと同じように返すか、MYSQLのような単一の値を返す必要があることです
java - MS SQL での HikariCP ステートメントのキャッシュ (Microsoft JDBC ドライバー 4.1)
HikariCP 接続プールの MS SQL RDBMS でステートメント キャッシュを有効にするにはどうすればよいですか?
MySQL の場合は次の方法を使用します。
PostgreSQL の場合:
Oracle の場合、次のように動作します。
しかし、MS SQL 2012 以降については何も見つかりませんでした。
java - SQL インジェクションを回避するために OPENQUERY を使用するプリペアド ステートメント クエリのパラメーターを設定する方法
私のJavaアプリケーションでは、OPENQUERYを使用して、リモートリンクされたMSSQLサーバーでSQLクエリを実行し、結果を取得しています。以下は、私が使用している OPENQUERY の例です。
私のJavaクラスでは、以下のようにPreparedStatementを使用して、上記のOPENQUERYを以下のように実行しています。
上記のコードは期待どおりに機能します。ただし、問題は、SQL インジェクションの可能性があり、HP Fortify が SQL インジェクションの脆弱性があると報告していることです。
以下のように、PreparedStatement で setString を使用するように上記のコードを変更しようとしました。
ただし、上記のコードは期待どおりに機能しません。実行時に、ps.executeQuery() の呼び出しで以下の例外が発生します。
上記のコードで何が間違っているのかはっきりしません。MSSQL jdbc ドライバーが気に入らないようで、PreparedStatement で setString メソッドを呼び出してもパラメーターが正しく設定されませんでした。
誰かがこの問題に遭遇して解決しましたか? これを解決するための指針をいただければ幸いです。
mysql - SUM () ,CROSS JOIN クエリ
SUM & CROSS JOIN を使用した MYSQL クエリを実行しましたが、正常に動作しています。
MYSQL クエリ:
しかし、「列 'd.total' は、集計関数または GROUP BY 句のいずれにも含まれていないため、選択リストでは無効です」という表示で、MSSQL でこの同じクエリを実行しようとしています。
その後、クエリの最後に GROUP BY a.total を追加しました。ERROR IS: Divide by zero エラーが発生しました。
すべてのテーブルにレコードがありますが、クエリは間違っていますか?
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 に接続しようとしています。さまざまな例外が発生し、コマンドライン経由でサーバーへの認証を成功させる方法が 1 つもありません。同じユーザー名とパスワードを使用して、MS SQL クライアント経由でデータベースにログインできました。したがって、このユーザーのログインの問題は問題ではありません。問題は JDBC ドライバーにあると思います。
バージョン:
1) SQL Server 2008 - SP3
2) リキベース 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 ランタイム環境 (ビルド 1.7.0_71-b14)、Java HotSpot(TM) 64 ビット サーバー VM (ビルド 24.71-b01、混合モード)]
私がチェックしたこと:
1) TCP/IP が許可され、「YES」とマークされ、ポート 1433
2) 「2976923 2994310 FIX: SQL Server 2008 R2 または SQL Server 2008 を使用すると Oracle サブスクリプションのディストリビューション エージェントが失敗する」を解決するためにインストールされた MS SQL 2008 SP3 - 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 更新
b. 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 update
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 update
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 update
b. 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 update
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 update
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 更新
Java や Maven ではなく、liquibase コマンドライン引数による解決が必要です。Java と Maven を介して同じユーザーで正常に認証できましたが、展開を自動化するという私の目的は解決されません。この問題の解決にご協力ください。ありがとう!