MS SQLServer

ちと情報が古いです。

SQL Serverのログインについて

SQL Server 2000の認証方法には、WindowsユーザーアカウントでログインするWindows認証と、DBに固有ユーザを設定するSQL Server認証という2種類の認証方法があります。Microsoftの純正JDBCドライバでは、SQL Server認証のみ使用可能です。(Windows認証可能なサードパーティ製品があるようです)。

「SQL Serverの信頼関係接続に関連付けられていません。」というエラーが出る場合は、SQL Server認証が無効になっています。Enterprise Managerで認証方法を<a href=“http://yunet.2.pro.tok2.com/contents/aspnet_db/ix002.html”>混合モードに設定</a> [tok2.com]するとJDBC接続が可能になります。

[HOWTO] Microsoft JDBC の使用方法

saユーザについて

SQL Server認証を有効にするとsaユーザが有効になります。SQL Serverのsaユーザでログインしようとするワームが存在します。必ず最新のパッチを当て、SQL Server認証を使用する場合は必ずsaユーザにパスワードを設定してください。

複製した接続

マニュアルトランザクションモード中は、複製した接続を開始できません。
Cannot Start a Cloned Connection While in Manual Transaction Mode.

上記のSQLExceptionは、自動コミットがオフ(トランザクション有効)の時、Statementを閉じずに、同一のConnectionインスタンスからもう一つStatementをオープンしようとするとスローされる。

String url = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=test";
String u = "hoge";
String p = "hogehoge";
 
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection c = DriverManager.getConnection(url, u, p);
c.setAutoCommit(false);
Statement s1 = c.createStatement();
Statement s2 = c.createStatement();  // ここでSQLException

URLを以下のように修正する。ただし、わずかに実行効率が下がる。

jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=test;SelectMethod=cursor

Cannot Start a Cloned Connection While in Manual Transaction Mode

 
mssqlserver.txt · 最終更新: 2007/11/19 01:22 (外部編集)
 
特に明示されていない限り、本Wikiの内容は次のライセンスに従います:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki