0
액세스 DB 생성 후 .DBF로 변환하는 것이 vb.net에서 실제로 가능하지 않음을 알게 된 후 vb.net을 사용하여 .DBF 파일을 만들려고합니다.vb.net을 사용하여 새 DBF 파일 생성
그러나, 지금은 다음과 같은 문제가 발생하고있다 :
이 내가 사용하고있는 코드입니다 : 나는 또한 두 번째 양식을 사용하고
Imports System.IO
Imports System.Data.SqlClient
Public Class frmStart
Inherits System.Windows.Forms.Form
Private Sub btnCreate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCreate.Click
Dim fd As FolderBrowserDialog = New FolderBrowserDialog
Dim strFileName As String = ""
Dim dbNameForm As New frmDatabaseName()
' init DB Vars
Dim ds As New DataSet
Dim sql As String
' Open Location browser
dbNameForm.FileName = "Test"
If dbNameForm.ShowDialog() = DialogResult.OK Then
MsgBox("Select the location where you want your Access-File")
If fd.ShowDialog() = DialogResult.OK Then
Dim DatabaseFullPath As String = fd.SelectedPath & "\" & dbNameForm.FileName & ".DBF"
'Create the Database
CreateDatabase(DatabaseFullPath)
MsgBox("Database created")
'Open database
Dim dBaseConnection As New System.Data.OleDb.OleDbConnection(_
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & DatabaseFullPath & ";" & _
"Extended Properties=dBase IV")
dBaseConnection.Open()
' Filling the Database with the required Columns
sql = "CREATE TABLE DB_Total (NAME varchar(79),TYPE varchar(16), UNIT varchar(31)," &
"ADDR varchar(254), RAW_ZERO varchar(11), RAW_FULL varchar(11), ENG_ZERO varchar(11)," &
"ENG_FULL varchar(11), ENG_UNITS varchar(8), FORMAT varchar(11), COMMENT varchar(254)," &
"EDITCODE varchar(8), LINKED varchar(1), OID varchar(10), REF1 varchar(11), REF2 varchar(11)," &
"DEADBAND varchar(11), CUSTOM varchar(128), TAGGENLINK varchar(32), CLUSTER varchar(16)," &
"EQUIP varchar(254), ITEM varchar(63), HISTORIAN varchar(6)," &
"CUSTOM1 varchar(254), CUSTOM2 varchar(254), CUSTOM3 varchar(254), CUSTOM4 varchar(254)," &
"CUSTOM5 varchar(254), CUSTOM6 varchar(254), CUSTOM7 varchar(254), CUSTOM8 varchar(254))"
Dim dBaseCommand As New System.Data.OleDb.OleDbCommand(sql, dBaseConnection)
dBaseCommand.ExecuteNonQuery()
dBaseCommand = Nothing
sql = "CREATE TABLE TagSubs (TAGNAME varchar(79), POLLTIME varchar(6), SCALEMODE varchar(8), DEADBAND varchar(15))"
dBaseCommand = New System.Data.OleDb.OleDbCommand(sql, dBaseConnection)
dBaseCommand.ExecuteNonQuery()
dBaseCommand = Nothing
dBaseConnection.Close()
Else
MsgBox("Action Cancelled")
End If
Else
MsgBox("Action Cancelled")
End If
End Sub
' Creating a Database
Private Function CreateDatabase(_
ByVal DatabaseFullPath As String) As Boolean
Dim bAns As Boolean = False
Dim cat As New ADOX.Catalog
Try
Dim sCreateString As String = _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
DatabaseFullPath
cat.Create(sCreateString)
bAns = True
Catch Excep As System.Runtime.InteropServices.COMException
Finally
cat = Nothing
End Try
Return bAns
End Function
End Class
는하지만 그냥 창입니다있는 사용자 수에 파일에 이름을 추가하십시오 (기본값, 이름은 "test.DBF"입니다)
이 코드를 만든 후, 나는 그것을 실행, 나는 다음과 같은 오류가 발생합니다 :
C:\Documents and settings\HIJ541\Desktop\Test.DBF is not a Valid path.
Make sure the path name is spelled correctly and there is an active connection
with the server on which the file is located
(대략 네덜란드에서 번역)
또한, 내가 만든 .DBF 파일을 열려고 , 다음과 같이 알려줄 것입니다 :
the file you are trying to open is in a different format than specified
by the file extension
나는이 머리카락에 정말로 있다고 생각합니다. 어떤 도움이라도 대단히 감사하겠습니다!
당신은 정확합니다 - 저는 이것을 코멘트에 넣으려고했습니다 :) 당신의 대답을 받아 들일 것을 잊지 마십시오. (당신이 당신 자신의 대답을 받아 들일 수있는 시간이 있다고 생각합니다. 하루 이틀이 되라.) – Tim