2

(Java)FitNesseとSQL Serverの両方を初めて使用します。基本的なSQLテストを、DbFitで動作させたいと考えています。

私はルートに次のものを持っています:

!path c:\fitnesse\lib\dbfit.jar
!path c:\fitnesse\lib\fitlibrary.jar
!path c:\fitnesse\lib\sqljdbc4.jar
|Import|
|dbfit.SqlServerTest|

HelloWorldTestには次のものがあります。

!contents -R2 -g -p -f -h

!|dbfit.SqlServerTest|

|Connect|LOCALSQLEXPRESS|sa|Password|somePassword:|

|eg.Division|
|numerator|denominator|quotient?|
|10       |2          |5        |
|12.6     |3          |4.2      |
|100      |4          |33       |  

私が試したこと:

  • SQLExpressのユーザー名とパスワードを再確認しましたが、SqlServerインスタンスはローカルホストにあります。これがファイアウォールの問題ではないかと思います。(ファイアウォールについての私の理解は確かに非常に弱いです。)
  • SQL Server Configuration Manager(SSCM)を見ると、
    • 「SQLServer(SQLEXPRESS)はID2316のプロセスとして実行されています。
    • PowerShellコマンド「nestat-a-no| Select-String 2316」を使用すると、ポート55618でプロセスが実行されていることがわかります。
  • SSCMでは、JDBCが何を使用しているかわからないため、「SQL Native Client 11.0構成(32ビット)」と「SQLNativeClient11.0構成」の両方で「LOCALSQLEXPRESS」というエイリアスを作成します。(どうやら、JDBC for SQL Serverは名前付きインスタンスをサポートしていないので、\ localhost \ SQLEXPRESSに直接接続しようとしたときに例外が発生しました)「プロトコル」で「TCP/IP」と「共有メモリ」も有効にしましたSQLEXPRESSの場合」。

テストを実行すると、次のエラーが発生します。

com.microsoft.sqlserver.jdbc.SQLServerException:ホストLOCALSQLEXPRESS、ポート1433へのTCP/IP接続が失敗しました。エラー:「null。接続プロパティを確認してください。SQLServerのインスタンスがホストで実行されており、ポートでTCP/IP接続を受け入れていることを確認してください。ポートへのTCP接続がファイアウォールによってブロックされていないことを確認してください。」

(私のエイリアスがポート55618を指しているにもかかわらず、ポート番号1433に注意してください。)

これはStackOverflowでの私の最初の投稿です、愚かなことを許してください。誰かが光を当てることができますか?

4

1 に答える 1

0

lingo_journeyがすでに問題を解決していることを願っています。同じ問題を抱えている可能性のある他の人のために、私は最初、名前付きインスタンスをマルチパラメータConnectで動作させることができませんでした。

この問題を解決するために、Connectのパラメーターとして接続文字列に切り替えました。

1)SQL Serverブラウザサービスが実行されていることを確認しました(上記のコメントに記載されています)

2)Connectパラメータを次のように変更しました。

!| Connect | jdbc:sqlserver://localhost\SQLEXPRESS;databaseName=DB_NAME;integratedSecurity=true |

以下は、SQL Server認証(おそらくlingo_journeyにより適しています)を使用して機能しました。

!| Connect | jdbc:sqlserver://localhost\SQLEXPRESS;databaseName=DB_NAME;user=user1;password=Welcome!|

Webで見たいくつかの例よりも、sqlserver:が接続文字列から省略されていることに注意してください。これは私にとっては機能しませんでした。

于 2013-12-10T03:13:42.950 に答える