Μετά από κάμποσο ψάξιμο έχω καταλήξει σε αυτό τον κώδικα:
Τα προβλήματα που έχω τώρα είναι στα σημεία με κόκκινο.Κώδικας wrote:<%@LANGUAGE="VBSCRIPT"%> 'CODEPAGE="1252"%>
<html>
<head>
<title>Create a New Microsoft Access Database with ASP</title>
</head>
<body>
<!--#include file ="Includes/adovbs.inc"-->
<%
Dim sDatabaseName
sDatabaseName = "C:\Inetpub\wwwroot\repository\repositoryAutomatic.mdb"
Sub CreateAccessDatabase(sDatabaseToCreate)
'if this fails, the function exits immediately
Set fso = Server.CreateObject("Scripting.FileSystemObject")
' does the destination file exist already?
response.write( "Checking existence of " & sDatabaseToCreate & "...<br>")
IF fso.FileExists(sDatabaseToCreate) THEN
fso.DeleteFile( sDatabaseToCreate)
response.write( "Deleted file " & sDatabaseToCreate)
END IF
SET fso = nothing
Dim catNewDB ' As ADOX.Catalog
Set catNewDB = Server.CreateObject("ADOX.Catalog")
catNewDB.Create "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & sDatabaseToCreate & _
";Jet OLEDB:Engine Type=5;"
Set catNewDB = Nothing
response.write("Database has been created successfully!<br>")
'open the existing database and add the tables
Dim catDB ' As ADOX.Catalog
Set catDB = Server.CreateObject("ADOX.Catalog")
' Open the catalog
catDB.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & sDatabaseToCreate
' Create the "MATERIALS" table
Dim mat ' As ADOX.Table
Set mat = Server.CreateObject("ADOX.Table")
mat.Name = "MATERIALS"
' Now add the columns of the table
With mat
' Create fields and append them to the
' Columns collection of the new Table object.
With .Columns
.Append "M_CODE", adVarWChar, 5
.Append "M_DESCR", adVarWChar, 20
.Append "M_QUANTITY", adInteger, 4
.Append "M_MIN_QUANTITY", adInteger, 4
.Append "M_UNIT_PRICE", adInteger, 6
End With
.keys.append "PK_M_CODE", 1, "M_CODE"
End With
' Add the new Table to the Tables collection of the database.
catDB.Tables.Append mat
Set col = Nothing
Set mat = Nothing
'<-------------------------------------------------------------->
'<-------------------------------------------------------------->
' Create the "ORDERS" table
Dim ord 'As ADOX.Table
Set ord = Server.CreateObject("ADOX.Table")
Dim kyForeign 'As ADOX.Key
'set kyForeign = New ADOΧ.key
ord.Name = "ORDERS"
With ord
' Create fields and append them to the
' Columns collection of the new Table object.
With .Columns
.Append "M_CODE", adVarWChar, 5
.Append "O_NUM", adInteger, 4
.Append "O_QUANTITY", adInteger, 4
.Append "O_DATE", adDate
End With
'.keys.append "FK_M_CODE", 1, "M_CODE"
'.keys.append "PK_O_NUM", 1, "O_NUM"
End With
' Define the foreign key
kyForeign.Name = "MO_CODE"
kyForeign.Type = adKeyForeign
kyForeign.RelatedTable = "MATERIALS"
kyForeign.Columns.Append "M_CODE"
kyForeign.Columns("M_CODE").RelatedColumn = "M_CODE"
kyForeign.UpdateRule = adRICascade
' Append the foreign key
ord.Keys.Append kyForeign
' Add the new Table to the Tables collection of the database.
catDB.Tables.Append ord
Set col = Nothing
Set ord = Nothing
Set catDB = Nothing
End Sub
CreateAccessDatabase sDatabaseName
%>
</body>
</html>
Στο 1ο σημείο "fso.DeleteFile( sDatabaseToCreate)" μου βγάζει
Code: Select all
Error Type:
Microsoft VBScript runtime (0x800A0046)
Permission denied
Στο 2ο σημείο Dim kyForeign 'As ADOX.Key μου βγάζει
Code: Select all
Error Type:
Microsoft VBScript runtime (0x800A01A8)
Object required: ''
Code: Select all
Error Type:
Microsoft VBScript runtime (0x800A01FA)
Class not defined: 'ADOΧ'
Code: Select all
Error Type:
Microsoft VBScript compilation (0x800A0401)
Expected end of statement
Dim kyForeign As ADOX.Key
-------------^

Έχω έκδοση ΑDO 2.8 και υποστηρίζεται ADOX, τουλάχιστον αυτά τα αποτελέσματα μου επέστρεψε το ακόλουθο script.
Code: Select all
<%@LANGUAGE=VBSCRIPT%>
<%
ON ERROR RESUME NEXT
SET ourObj = Server.CreateObject( "ADODB.Connection")
Response.Write "<BR>ADODB "
IF ERR <> 0 THEN
Response.Write "is not "
ELSE
Response.Write "version " + ourObj.Version + " is "
END IF
Response.Write "installed on this machine"
Err.Clear
SET ourObj = Server.CreateObject( "ADOX.Catalog")
Response.Write "<BR>ADOX is "
IF ERR <> 0 THEN
Response.Write "not "
END IF
Response.Write "installed on this machine<BR>"
Err.Clear
SET ourObj = nothing
%>