- - PR -
SQL Server 2005 CLR VB2005 DBアクセス方法
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-01-17 09:25
SQL Server 2005 CLR ですが VB2005でOleDbConnection.Openできないのですが、、、
VB2005のWinAppから呼び出すとちゃんとOPENするのですが、 SQL Server 2005 から呼び出すとOPENでこけます。 ソースは以下です ---- Imports System.Data.OleDb connStr = "Provider=SQLOLEDB.1;Password=xxxxxxx;Persist Security Info=True;User ID=sa;Initial Catalog=tbl_1;Data Source=SV01" m_conn = New OleDbConnection(connStr) m_conn.Open() ---- System.Data.OleDb が使えないのでしょうか? OS:WinXPSP2 VS2005Developer | ||||
|
投稿日時: 2007-01-17 09:51
その前に、System.Data.SqlClient 名前空間を使わないことを不思議に思います。
_________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2007-01-17 10:19
マルチポスト先
http://dobon.net/cgi-bin/vbbbs/cbbs.cgi?mode=al2&namber=18797&rev=&no=0 http://bbs.wankuma.com/index.cgi?mode=al2&namber=113 http://hanatyan.sakura.ne.jp/bbs/wforum.cgi?mode=allread&no=4824&page=0 http://bbs.pegalabo.net/c-board.cgi?cmd=ntr;tree=356;id=dotnet 解決したら全ての掲示板にフィードバックをお願いします。 #マルチポスト先1件追加 #マルチポスト先さらに1件追加
[ メッセージ編集済み 編集者: ペンちゃん 編集日時 2007-01-18 09:58 ] [ メッセージ編集済み 編集者: ペンちゃん 編集日時 2007-01-30 17:22 ] | ||||
|
投稿日時: 2007-01-17 13:41
もしかして System.Data.OleDb を使う時点でOUTですか?
他のDBにConnectionStringを使って接続するのは無理なのでしょうか? | ||||
|
投稿日時: 2007-01-17 17:57
一応
http://www.atmarkit.co.jp/fdb/rensai/sqls05try05/sqls05try05_1.html で、OPENはできるようになりました。 あと、​SqlDataReader の値を吸い出して、ファイルに書き出すのですが Dim sw As New StreamWriter("C:\sql\Test.txt", False, System.Text.Encoding.GetEncoding("Shift_Jis")) で、セキュリティエラー(permissionがどうやらこうやら)が出て、 どうしていいかわかりません。C:\sqlフォルダーのセキュリティをどうにかしないと いけないみたいですが、そこで行き詰ってます。 どうすればいいでしょうか? | ||||
|
投稿日時: 2007-01-18 11:46
VS2005アプリケーション SQLSERVERプロジェクト?
現象 SQLServerが稼動しているホストにファイルを作成するとエラーが発生する *リンク先によるとファイルのアクセス権限はあるということ dobon.net/cgi-bin/vbbbs/cbbs.cgi?mode=one&namber=18797&type=0&space=0&no=0 *リンク先にCLR関係との指摘があるので http://bbs.wankuma.com/index.cgi?mode=al2&namber=113 この辺のドキュメントが参考になるのでは msdn2.microsoft.com/ja-jp/library/ms345101.aspx SQL Server 2005 Books Online SAFE 権限が設定されているアセンブリで実行されるコードは、 ファイル、ネットワーク、環境変数、レジストリなどの外部システム リソースに アクセスできません。 [ メッセージ編集済み 編集者: 99ri 編集日時 2007-01-18 11:52 ] | ||||
|
投稿日時: 2007-01-18 15:36
VB側の方はアンセーフにすればよいことがわかりました。 問題がSQLServer側の設定で「データベース所有者(DBO)にUNSAFE ASSEMBLY権限があり、 データベースのTRUSTWORTHYデータベースプロパティが有効」でないといけないと、エラー がでました。TRUSTWORTHYデータベースプロパティとは一体どこで設定すればよいか わかりません。 BooksOnlneには「ALTER DATABASE ステートメントを使用して ON に設定できます。」 とは書いてるものの、具体的な構文のサンプルが無く、行き詰っている状態です。 TRUSTWORTHYデータベースプロパティはどのようにして変えればよいのでしょうか? | ||||
|
投稿日時: 2007-01-18 17:07
もう一度ドキュメントをみてください
msdn2.microsoft.com/ja-jp/library/ms345101.aspx 方針としては UNSAFEではなくてEXTERNAL_ACCESS が望ましいとおもいます ALTER DATABASE ステートメントを使用.... は SQLサーバの管理者が事前に設定すべき類で一般のアプリがやることではありません 私は経験と環境がないのでEXTERNAL_ACCESSの設定方法はすぐにはわかりません ===以下追加=== 変更SQL文です (権限が必要です) http://msdn2.microsoft.com/ja-jp/library/ms177563.aspx 構文規則 http://msdn2.microsoft.com/ja-jp/library/ms174269.aspx ALTER DATABASE database_name SET TRUSTWORTHY ON このオプションを設定するには、sysadmin 固定サーバー ロールのメンバシップが必要です。 このオプションの状態を確認するには、sys.databases カタログ ビューの is_trustworthy_on 列を調べてください。 [ メッセージ編集済み 編集者: 99ri 編集日時 2007-01-18 17:35 ] [ メッセージ編集済み 編集者: 99ri 編集日時 2007-01-18 21:52 ] |