如何在局域网内从EXCEL连接另一台电脑的SQL数据库求完整ADO连接语句实例

如何在局域网内从EXCEL连接另一台电脑的SQL数据库求完整ADO连接语句实例,第1张

第一,该数据库文件应已经设置为共享的;

第二,有登陆数据库的账号和密码(如果设置了密码的情况下);

第三,取得该数据库的网络路径名;

第四,该电脑处于正常开机状态;

第五,类似于连接本机数据库的语句,替换其中的数据库路径名称、账号和密码,应该就可以了。

在查询分析器里, *** 作数据库对象选择Lee直接写 SQL语句:

如果是导入数据到现有表,则采用

INSERT INTO 表 SELECT FROM OPENROWSET('MICROSOFTJETOLEDB40'

,'Excel 50;HDR=YES;DATABASE=c:\testxls',sheet1$)

的形式

如果是导入数据并新增表,则采用

SELECT INTO 表 FROM OPENROWSET('MICROSOFTJETOLEDB40'

,'Excel 50;HDR=YES;DATABASE=c:\testxls',sheet1$)

的形式。

以上语句是将 EXCEL文件里 SHEET1工作表中所有的列都读进来,如果只想导部分列,可以

INSERT INTO 表 (a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET('MICROSOFTJETOLEDB40'

,'Excel 50;HDR=YES;DATABASE=c:\testxls',sheet1$)

其实可以将 OPENROWSET('MICROSOFTJETOLEDB40'

,'Excel 50;HDR=YES;DATABASE=c:\testxls',sheet1$)当成一个表,例如我就写过这样一个句子:

INSERT INTO eval_channel_employee(channel,employee_id)

SELECT CASE a渠道 WHEN 'DIY' THEN 1 WHEN 'RDC' THEN 0 WHEN 'KCM' THEN 2 ELSE 3 END

,bid FROM

OPENROWSET('MICROSOFTJETOLEDB40'

,'Excel 50;HDR=YES;DATABASE=c:\temp\namexls',sheet1$) AS a,pers_employee b

WHERE a员工编码 =bcode

简单的方法:

SQL2005中直接可以实现导入功能 SQL2008不知道可不可以。

*** 作过程如下:

第一步:登录到 SQL Server Management Studio,

第二步:在 “对象资源管理器 ”中右键单击 “管理 ”,在d出列表中单击 “导入数据 ”

第三步:在 “导入向导 ”对话框中单击 “下一步 ”,进入到 “选择数据源 ”对话框,在 “数据源 ”列表中选择 “Microsoft Excel ”,同时选择相应的 Excel 文档,完成后单击 “下一步 ”(一定要勾选该对话框中的 “首行包含列名称 ”,因此它是将 Excel文档中的列标题为数据库表中的列项标题)

第四步:指定目标数据库服务,依次单击 “下一步 ”。。。。至到 “完成 ”

第五步:重新打到 SQL Server Management Studio,进入到导入的数据库表,可以发现所导入的 Excel文档数据。

你试下下面的吧:

打开SQL Server Configuration Manager,启用SQL Server Agent(实例名)。 启动模式更改为“自动”

呵呵,以前就帮人家解决过这个,请看下面的代码,有注释的!

Private Sub CommandButton5_Click()

Dim Conn As New ADODBConnection '定义ADODB连接对象

Dim ConnStr As String '定义连接字符串

Dim xiao As String

xiao = ComDataText

'对于SQL 2008,如果以IP方式访问服务器,必须要启动SQL Server Browser服务,如果是Express版本,要以“IP(计算机名)\实例名”方式访问

ConnStr = txtDataText

Dim Records As New ADODBRecordset '定义ADODB对象的记录集

Dim Sheet As Worksheet '定义工作表

Set Sheet = ThisWorkbookWorksheets("Sheet2") '给变量Sheet赋值,注意:是工作簿中索引为1的那个表(通常一个新的工作簿Sheet1的索引为1)

'SheetName = "Data" '把Sheet名称改为Data

SheetCellsClear '清空表中原有的数据

'连接状态是打开就不在进行Open *** 作

ConnOpen ConnStr

Dim SQLStr As String '要执行的SQL语句

SQLStr = "select from Shift_Code where Club='" + xiao + "'" '可以执行更复杂的SQL语句

RecordsOpen SQLStr, Conn, adOpenStatic, adLockBatchOptimistic '读取SQL查询结果到Records记录集

'RecordsOpen

Dim i, j, TotalRows, TotalColumns As Integer

j = 0

TotalRows = RecordsRecordCount

TotalColumns = RecordsFieldsCount

'下面的循环把表头(即列名)写到Excel表的第一行

For i = 0 To TotalColumns - 1

Sheet2Cells(1, i + 1) = RecordsFields(i)Name

Next

'下面的循环把查询结果写到Excel表中

Do While Not RecordsEOF

For i = 0 To TotalColumns - 1

Sheet2Cells(j + 2, i + 1) = RecordsFields(i)Value

Next

RecordsMoveNext

j = j + 1

Loop

RecordsClose '关闭记录集

ConnClose '关闭连接

Set Records = Nothing '清空对象

Set Conn = Nothing '清空对象

End Sub

有什么不懂的话Hi我!

以上就是关于如何在局域网内从EXCEL连接另一台电脑的SQL数据库求完整ADO连接语句实例全部的内容,包括:如何在局域网内从EXCEL连接另一台电脑的SQL数据库求完整ADO连接语句实例、SQL语句如何将Excel表导入到数据库我要的是SQL语句、Excel VBA 连接SQL数据库后的 *** 作。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9468446.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存