RecordsetのID PWは?

このQ&Aのポイント
  • GWで暇なので、WebからSQL Server2008 Expressをダウンロードしてインストールして試している所です。元々あったAccessのテーブルもインポートもできました。しかし、エクセルのVBAでRecodsetを試みようとしているところですが、ユーザー「sa」にログインできませんでした。
  • SQL Server managementのログイン「sa」のプロパティを見ると、SQLServer認証で15桁のパスワードが表示されます。パスワードを削除しても、再度開くと元に戻ってしまいます。
  • VBA Recodesetを使ってSQLServerのテーブルに接続して操作したいのですが、どこの設定を見ればよいのでしょうか?PCはWindows7 Office2010です。
回答を見る
  • ベストアンサー

Recordsetの ID PWは?

GWで暇なので WebからSQL Server2008 Expressをダウンロードしてインストールして試している所です。 インストールは無事終了して、SQL Sever Managementを使って 新しいデータベースやテーブルも作成できました。 元々あったAccessのテーブルをインポートもできました。 しかし、エクセルのVBAで Recodsetを試みようとしているところですが Sub ボタン1_Click() Set cnnSql = New ADODB.Connection With cnnSql .Provider = "SQLOLEDB" .Properties("Data Source").Value = "PC\SQLEXPRESS" 'サーバー名 .Properties("User ID").Value = "sa" 'ユーザー名 .Properties("Password").Value = "" 'パスワード '.Properties("Initial Catalog").Value = "master" 'サーバー上のデータベース名 .Open End With cnnSql.Close Set cnnSql = Nothing End Sub という簡単なコードで ユーザー "sa"にログインできませんでした のメッセージで 先に進めません。 SQL Server management のログイン sa のプロパティをみると SQLServer認証 ですが 15ケタのパスワードが ●●・・・●と出ています。 ●をすべて削除してOKでいても次に開くと元の通りなのですが これが原因かどうかわかりませんが VBA Recodesetを使って SQLServerのテーブルに接続して操作したいのです。 どこの設定を見ればよいのかご存知の方、教えてください。 PCは Windows7 Office2010です。

質問者が選んだベストアンサー

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

SQL Server2008 Expressをインストールする際に混合認証にするか、するとすればsaのパスワードを何にするか入力する画面があったはずです。 混合認証を選んでいるなら、その時に入力したパスワードを指定してください。

hallo-2007
質問者

お礼

回答ありがとうございます。 >インストールする際に混合認証にするか アカウントの手順のタブで認証モードのことですよね。 Windows認証モードのまま 次へ進んだと思います。

hallo-2007
質問者

補足

もう一度、インストールしなおして その時に認証モードを 混合認証 を選択したら解決しました。 但し、saのプロパティを見るとパスワードに●が15個並んだ状態ですが 実際は4ケタのパスワードです?? ありがとうございました。

その他の回答 (1)

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.2

多分、空白文字列のパスワードが認められないせいだと思うので、Management Studioで適当なパスワードを入力してOKをクリックしてみてください。

hallo-2007
質問者

お礼

>Management Studioで適当なパスワードを入力してOKをクリックしてみてください セキュリティ=>ログイン=>sa のプロパティで パスワードを変更して OKしても 同じなのです。 もう一度 saのタブを開くと前と同じでパスワードに ●●・・●と ●が15個 そんな長いパスワードは使ったことがないのですが??? PS nora1962さんの愛犬ですか。かわいいですね。

関連するQ&A

  • JavaからSqlServer2008への接続

    Java + EclipseからSqlServer2008への接続を勉強しています。 MidldegenというEclipseのプラグインを入れてhibernateのファイルを作成しようと試しているのですがうまくいきません。 Sql Server Management Studio2008でsaでログインし、[db1]というデータベースを作成し、その中に[tbl1]というテーブルを作成しています。 新規追加でMidldegenを選択するとフォームが表示されます。 フォームには以下の入力項目があります。 JDBC jar ->・・・sqljdbc.jar JDBCドライバ ->com.microsoft.sqlserver.jdbc.SQLServerDriver データベースURI ->jdbc:sqlserver://localhost:1433;databaseName=db1 ユーザ ->sa パスワード ->saのパスワード スキーマ ->空白です カテゴリ ->空白です ビューを含める ->false この状態でテーブル読み込みをすると 「データベース'%'が存在しません。名前が正しく入力されていることを確認してください。」 というエラーが出ます。。。 データベースURI ->jdbc:sqlserver://localhost:1433;databaseName=サーバ名\db1 とし、テーブル読み込みをすると 「このログインで要求されたデータベース"サーバ名\db1"を開けません。ログインに失敗しました。」 というエラーが出ます。。。 どなたかご教示よろしくお願いします

  • Recordsetの処理時間について

    現在VC++を用いてSQL Server Express 2005のデータベースに対してSQL文を実行しています。 そこで、下記のような現象が発生し、解決できずに困っています。 [現象] 複数のデータベースが存在する(約300)環境に対して、masterデータベースに接続し、個々のデータベースに対してデータベース名を明示的に記述したSQLを実行。 データベース接続したデータベースと異なるデータベースに対するSQLの処理は1ms~500msと処理時間がばらつきます (SQL文はSELECT data1 FROM Db1.dbo.table1 where data1=1;という感じで各テーブルには約3000レコード、SQLの結果は300件程度。Recordset Openメソッドの引数はCursorType:adOpenForwardOnly,Options:adLockReadOnly,LockType:adCmdTextです。)。 まったく同一のSQL文なので、データベース接続後、1回目は時間がかかるのは理解できますが、それ以降の処理を連続で繰返しているだけなので2回目以降処理時間が大きくばらつくことが不明です。 これは同一データベースに対して繰返しても、別々のデータベースに対して繰返してもほぼ同様の現象が発生します。 [確認したこと] - Windows認証、SQL Server認証いずれにおいても同様の傾向。 - 自プロセスあるいは他プロセスからターゲットとなるデータベースに先に接続した状態のままで実行すれば、処理時間のばらつきが1ms~80ms程度 本来、データベース毎に接続-->SQL実行-->解放を繰返せばよいのですが、Vistaにおいてはメモリリークが発生するため、この方法は採用できません。 現状、別プロセスでSQL文を実行するデータベースだけ、先に接続し、処理が完了すればこのプロセスを終了することで回避を考えているのですが、この方法では、SQLServerの負荷をかけてしまうため、よりよい方法が無いか教えてください。 よろしくお願い致します。

  • SQLServer の DB を、VB2005 で作成したアプリから作りたい

    こんにちは。 APサーバにVB2005 DBサーバに SQLServer 2005 という環境で動作する自作アプリケーションがあります。 このアプリを新規の環境にセットアップする際には、 1. DBサーバにSQLServer をインストール 2. SQLServer Management Studio で、データベース作成 3. 同じくテーブル作成。 4. APサーバにアプリケーションをインストール 5. 動作確認 という流れになりますが、セットアップの為に 技術者が必要になってしまいます。 そこでエンドユーザが簡単にセットアップできるように 2.と3. を、セットアップ用プログラムから 自動で走らせたく思っています。 APサーバ上で動くプログラムで、 DBサーバ上のSQLServer内に「hogehoge」というデータベースを 作成するにはどのように記述すれば良いのでしょうか。 宜しくお願い致します。

  • ADO エクセル→エクセル PW付きファイル接続

    以前も http://okwave.jp/qa/q8283354.html で同じような質問をしたのですが ADOでエクセルからエクセルに接続する方法を教えてください。 接続先のエクセルファイルにはPWがかかっています。 Sub Sample() Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset With cn .Provider = "Microsoft.ACE.OLEDB.12.0" .Properties("Extended Properties") = "Excel 12.0" .Properties("Data Source") = ActiveWorkbook.Path & "\test.xlsx" .Properties("Password") = "0000" .Open End With 上記では、.Open部分で -------------------------------------------------------- 実行時エラー-2147217843 アプリケーションを起動できません。 システムデータベースが存在しないか、またはほかのユーザーが排他的にシステムデータベースを開いています。 -------------------------------------------------------- となります。 .Properties("Password") をコメントアウトすると、 -------------------------------------------------------- 実行時エラー -2147467259 外部テーブルのフォーマットが正しくありません。 -------------------------------------------------------- となり、そのまま再度F5を押すと -------------------------------------------------------- 実行時エラー -2147217843 認証に失敗しました。 -------------------------------------------------------- となります。 ちなみに参照設定は Microsoft ActiveX Data Objects 2.7 Library にチェックを入れています。 .Properties("Data Source") = ActiveWorkbook.Path & "\あああ.xlsx" のように、存在しないファイル名にした時は、 .Openを無事通過しますが、データの操作取得はできません。 どなたかわかる方ご教授おねがいします。

  • SQLサーバーについて

    アクセスユーザーです。 データベースを操作するならアクセスよりSQLサーバーの方が良いと聞いたのですが SQLサーバーのイメージがいまいちわかりません。 アクセスは、 ・テーブル ・クエリ ・フォーム ・レポート ・マクロ ・VBA がありますが、 SQLサーバーは、テーブルとクエリしかなくて、 テーブルの置き場として使うソフト。と言う認識であってますか?

  • vbaで、postgresqlアクセス問題

    vbaで、postgresqlアクセス問題:      データベースに、データは ***0000, でも、vbaで、取得したのは ****.四つの0が自動に、削除されました。      例: postgresqlに、 40000 ⇒ vbaで、取得した: 4   vbaソース:  Option Explicit Sub subPgGetData() Dim adoCn As New ADODB.Connection On Error GoTo ErrLogin: With adoCn .Provider = "PostgreSQL OLE DB Provider" .Properties("Data Source") = Range("B1").Value .Properties("Location") = Range("B2").Value .Properties("User ID") = Range("B3").Value .Properties("Password") = Range("B4").Value .Open End With On Error GoTo 0 Dim adoRs As New ADODB.Recordset On Error GoTo ErrSql: adoRs.Open Range("B6").Value, adoCn, adOpenForwardOnly, adLockReadOnly On Error GoTo 0 Workbooks.Add Cells.CopyFromRecordset adoRs Cells.Columns.AutoFit adoRs.Close: Set adoRs = Nothing adoCn.Close: Set adoCn = Nothing Exit Sub ErrLogin: MsgBox "" & vbCrLf & Err.Number & vbCrLf & Err.Description Set adoCn = Nothing Exit Sub ErrSql: MsgBox "" & vbCrLf & Err.Number & vbCrLf & Err.Description Set adoRs = Nothing adoCn.Close: Set adoCn = Nothing Exit Sub End Sub わかる方はご指示ください。 よろしくお願いします。

  • ASP.NETからSQLServerに接続出来ない

    ASP.NETからSQLServerにアクセスしようとすると、ログイン画面が表示されてしまいます。 今まで、問題なく運用出来ていましたが、新たにデータベースにテーブルを追加し、それにアクセスする処理を実行したところ、ログイン画面が表示されてしまいました。実施した手順は、以下の通りです。 ノートPC(開発機)のMicrosoft Visual Web Developer 2005でデータベースのテーブルを新規追加し、プログラムを検証したところ問題なかったので、プログラムを本番機(サーバ)にコピーし検証しようと思い、サーバ側でSQL Server Management Express 2005を用いてテーブルを新規追加して検証したところ、ログイン画面が表示されてしまいました。 実施した手順 1.ASP.NETのプログラム内で、新しいテーブルを参照する処理を追加。 2.ノートPC(開発機)内のMicrosoft Visual Web Developer 2005でテーブルを新規追加し、プログラムを検証。問題なくアクセスできた。 3.ノートPC(開発機)から本番機サーバにプログラムをコピー。 4.本番機サーバのSQL Server Management Express 2005でテーブルを新規追加。 5.本番機でプログラムを実行したところ、ログイン画面が表示されてしまった。 補足:従来のテーブルはsa認証なので、同様にsa認証でテーブルを追加。 データベース:SQLServer2005 OS:WindowsServer2003 SD SP2 このような場合は、どのように対応したら良いのでしょうか? ご存知の方いらっしゃいましたら、ご教授願います。 よろしくお願いいたします。

  • SQL SERVER 2005におけるメンテナンスプラン利用時のsaユーザーのパスワード変更について

    教えてください! SQL SERVER 2005 SP3の環境でSQL Server Management Studioを起動し、メンテナンスプランにてユーザーデータベースのバックアップや圧縮などを行っています。 先日、saのパスワードを変更したところ、メンテナンスプランのジョブがエラー(エラーコード18456:ユーザー 'sa' はログインできませんでした)で動かなくなりました。saのパスワードを元に戻したところ、エラーはなくなります。 saのパスワードは管理上定期的に変更したいと考えています。 パスワードを変更する度にジョブを作成し直すのは大変です。何か良い方法はないでしょうか? 分かる方がいましたら、教えてください。 よろしくお願い致します。

  • ログインユーザーの追加について

     SQL Serverで、データベース"GRSdb"を作成しました。 Management Studioにてログインユーザーを追加しようと思い、新規ログインを作成しようとしましたが、下記のようなエラーメッセージが表示されました。  ログイン"uzuracch"の作成に失敗しました(MicroSoft.SqlServer.Smo) 追加情報  Transact-SQLステートメントまたはバッチの実行中に例外が発生しました。 (MicroSoft.SqlServer.ConnectionInfo)  ユーザーにはこの操作を実行する権限がありません(MicroSoft SQL Server,エラー:15247) .このエラーに対する対処が分かりません。よろしくお願いします。 開発環境は、Windows7,VB2010PRO,SQLServer2008R2Expressです。

  • SQLサーバーのテーブルでサーバー名の規定値

    SQL2000サーバーから、SQL2005expressへ SQL Server Management Studio Express を使って移行しています その中で、テーブルレイアウトの初期設定について 日付やPC名は、SQL2000と同じ getdate() や host_name()で 設定できたのですが、サーバー名が @@servername では 「文字列データまたはバイナリデータが切り捨てられます  ステートメントは終了されました」 とメッセージが出てきて処理できません。 SQLserver2005expressで、サーバー名の規定値についてアドバイスをお願いします