网上流传的方法都是SQL SERVER跟DBF在同一台机器上的做法,
'sql = "select * into [dBase III;database= C:/]. abc from export "
'sql = "select * into [Excel 8.0;database=C:/].abc from q1 "
'sql = "select * into abc IN odbc[dBase 5.0;database=C:/] from q1 in ODBC[ODBC;Driver=SQL Server;UID=sa;PWD=;Server=127.0.0.1;DataBase=EV2_GPRS];"
'sql = "select * into abc in odbc[dBase Ⅴ;database=abc.dbf] from user_data in ODBC[ODBC;Driver=SQL Server;UID=sa,PWD=,Server=127.0.0.1,DataBase=EV2_GPRS];"
(这些都是网上流传最多的方法)
试了以上方法都出错,
'sql = "Insert Into openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:/','select * from abc.DBF') Select * From export"
(该方法只能在服务器上导出)
最后用了下面的方法,终于成功
sql = "select * into abp from user_data in ODBC[ODBC;Driver=SQL Server;UID=sa;PWD=;Server=127.0.0.1;DataBase=EV2_GPRS] where selinfo='导出测试';"
使用的连接字符串
Public Sub Conn2(Path As String)
If cnn2.State <> adStateOpen Then
'cnn2.ConnectionString = "Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDb=" & Path & ";"
'cnn2.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & path & ";Extended Properties=dBASE IV;,"","",adAsyncConnect"
'cnn2.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & path & ";Extended Properties=text;"
'cnn2.ConnectionString = "Provider=MSDASQL.1;Driver=Microsoft Visual Foxpro Driver;SourceDB=" + Path + ";SourceType=DBF;"
'cnn2.ConnectionString = "Driver={Microsoft dBase Driver (*.dbf)};datasource=dBase Files;"
cnn2.ConnectionString = "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=" & Path & ";"
cnn2.Open
'MsgBox "cnn2打开成功"
End If
以上连接字符串都可以连接数据库,要想成功导出DBF文件只能用最后一个连接字符串