日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

如何通过OPENROWSET函数向SQL Server导入带工作组(mdw)保护的Access数据库数据(转)...

發(fā)布時間:2023/12/14 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何通过OPENROWSET函数向SQL Server导入带工作组(mdw)保护的Access数据库数据(转)... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

注:找這個解決方法很辛苦,有些笨拙,但還好,可以解決問題。適用于SQL Server 2000

原文出自:如何在鏈接服務(wù)器中使用 SQL Server 7.0 分布式查詢來訪問受保護的 Access 數(shù)據(jù)庫(http://support.microsoft.com/?kbid=246255)

?

Microsoft SQL Server 7.0 版提供了通過使用 OLE DB 提供程序?qū)Σ煌瑪?shù)據(jù)庫執(zhí)行查詢的功能。可以使用以下方式查詢數(shù)據(jù)庫:

  • OpenQuery 或 OpenRowset Transact-SQL 函數(shù)。

    - 或 -

  • 具有四部分名稱(包括鏈接服務(wù)器名稱)的查詢。
要將鏈接服務(wù)器設(shè)置為訪問受保護的 Microsoft Access 數(shù)據(jù)庫,請使用下列步驟:
  • 使用注冊表編輯器將注冊表配置為使用正確的 Microsoft Access 工作組信息文件(.mdw 文件),然后向以下注冊表項中添加工作組信息文件的完整路徑名: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\SystemDB 接下來,將其值設(shè)置為該文件的路徑和名稱,例如:

    C:\...\MySystem.mdw
  • 要打開注冊表編輯器,請定位到“開始”按鈕,然后單擊“運行”。在“運行”對話框中,鍵入 Regedit,然后按“確定”。
  • 在注冊表編輯器中,定位到以下項: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\
  • 單擊右鍵,然后依次選擇“新建”、“字符串值”。
  • 鍵入?SystemDb,然后按?Enter
  • 雙擊左窗格中的“SystemDb”項。
  • 在“數(shù)值數(shù)據(jù)”文本框中,鍵入 .mdw 文件的完整路徑。
  • 關(guān)閉注冊表編輯器。
  • 執(zhí)行?sp_addlinkedserver?存儲過程創(chuàng)建鏈接服務(wù)器。指定 Microsoft.Jet.OLEDB.4.0 作為 provider_name,并指定 Microsoft Access .mdb 數(shù)據(jù)庫文件的完整路徑名作為 data_source。data_source 將在服務(wù)器而不是客戶端上進行計算,因此該路徑在服務(wù)器上必須有效。
  • 執(zhí)行?sp_addlinkedsrvlogin?存儲過程創(chuàng)建從本地登錄到 Microsoft Access 登錄的登錄映射。
  • 回到頂端

    查詢受保護的 Microsoft Access 數(shù)據(jù)庫的步驟

  • 修改步驟 1(請參見“更多信息”部分)中顯示的注冊表項并添加 .mdw 文件的位置。
  • 啟動 Microsoft Visual Basic 6.0 并選擇一個標準 EXE 項目。默認情況下會創(chuàng)建 Form1。
  • 在“項目”菜單上,選擇“引用”,然后將其中一個引用設(shè)置為“Microsoft ActiveX Data Objects 2.1 庫”(或更高版本)。
  • 在 Form1 上放置兩個命令按鈕和一個 DataGrid 控件(分別名為 Command1、Command2 和 DataGrid1)。
  • 將以下代碼粘貼到 Form1 的“聲明”部分中:

    注意:在運行此代碼之前,必須將 User ID=<User ID> 和 password=<Strong Password> 更改為正確的值。請確保該用戶 ID 具有在數(shù)據(jù)庫中執(zhí)行此操作所需的適當權(quán)限。 Dim adorst As New ADODB.Recordset Dim adoconn As New ADODB.ConnectionPrivate Sub Command1_Click()Dim strConn As Stringadoconn.Open "Provider=SQLOLEDB;Data Source=MyServer;Initial Catalog=master;User Id=<User ID>;Password=<Strong Password>;"adoconn.Execute "EXEC sp_addlinkedserver 'SecuredJetLS', 'Jet 4.0', 'Microsoft.Jet.OLEDB.4.0', 'c:\.....\MyDatabase.mdb'"adoconn.Execute "EXEC sp_addlinkedsrvlogin 'SecuredJetLS', FALSE, NULL, 'UserName', 'Password'"adoconn.CloseMsgBox "Successful Setup"End SubPrivate Sub Command2_Click()Dim SQL As String' Using OpenQuery syntax. SQL = " Select a.* from OPENQUERY(SecuredJetLS, 'Select * from MyTable') a"' Using OpenRowset syntax.' SQL = "SELECT * From OpenRowset('Microsoft.Jet.OLEDB.4.0','c:\....\MyDatabase.mdb'; 'UserName';'Password', MyTable)"' Using four-part name syntax.' SQL = "Select * from SecuredJetLS...MyTable"adoconn.CursorLocation = adUseClientadoconn.Open "Provider=SQLOLEDB;Data Source=MyServer;Initial Catalog=master;User Id=<User ID>;Password=<Strong Password>;"adorst.Open SQL, adoconn, adOpenStatic, adLockReadOnlySet DataGrid1.DataSource = adorstEnd SubPrivate Sub Form_Load()Command1.Caption = "Setup Linked Server"Command2.Caption = "Query Linked Server" End SubPrivate Sub Form_Unload(Cancel As Integer)adorst.CloseSet adorst = Nothingadoconn.CloseSet adoconn = Nothing End Sub
  • 運行該項目。
  • 單擊“設(shè)置鏈接服務(wù)器”。如果將連接字符串中的?sp_addlinkedserver?和sp_addlinkedsrvlogin?修改為正確的參數(shù),則可以成功創(chuàng)建鏈接服務(wù)器。
  • 單擊“查詢鏈接服務(wù)器”。如果將連接字符串和查詢文本修改為正確的參數(shù),將使用您的數(shù)據(jù)填充 DataGrid 控件。
  • 回到頂端

    總結(jié)

    以上是生活随笔為你收集整理的如何通过OPENROWSET函数向SQL Server导入带工作组(mdw)保护的Access数据库数据(转)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。