HELP!!! How To Upsize From Access 2002 To SQL Express
Nov 29, 2005
Problem:Upsize a backend MSAccess 2002 Database to SQL Express 2005Explored:Tried using the upsizing wizard from Office XP(2002), Two tables always get skipped.***! The two tables skipped data only, the tablename and data structure were created.Tried to install UPSize Pro, installation failed.I decide to try it in VWD 2005, here is my code so far but it keeps erroring out.
Dim cn As System.Data.OleDb.OleDbConnectionDim cmd As System.Data.OleDb.OleDbDataAdapterDim ds As New System.Data.DataSet()cn = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:Documents and SettingsBillMy DocumentsVisual Studio 2005WebSitesWebSite1App_DataData for Database.mdb';Persist Security Info=True")cmd = New System.Data.OleDb.OleDbDataAdapter("select * from Service_Orders", cn)cn.Open()cmd.Fill(ds)cn.Close()
Dim connDest As New Data.SqlClient.SqlConnection("Data Source=WLOCKLAPTOPSQLEXPRESS;Initial Catalog='Data for DatabaseSQLND1';Integrated Security=True")connDest.Open()Dim oBCP As New Data.SqlClient.SqlBulkCopy(connDest)oBCP.DestinationTableName = "Service_Orders"oBCP.WriteToServer(ds)oBCP.Close()connDest.Close()
It erors on Line oBCP.WriteToServer(ds)with......System.InvalidCastException was unhandled by user code Message="Unable to cast object of type 'System.Data.DataSet' to type 'System.Data.IDataReader'." Source="App_Web_hb6xyamq" StackTrace: at ASP.xfer_data_aspx.Button1_Click(Object sender, EventArgs e) in C:Documents and SettingsBillMy DocumentsVisual Studio 2005WebSitesWebSite1xfer data.aspx:line 30 at System.Web.UI.WebControls.Button.OnClick(EventArgs e) at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)I'm open for ANY suggestions, I do not have access to DTS, its not in the Express addition. Thanks in advance.Bill
At the moment i have a piece of software that uses Access to store the data into a number of tables.
I am developing a new piece of software that has been built around SQL express and need to upgrade users that are using access. I have managed to write the installation to install etc and also the start of a script to insert all of the tables. I cant work out how to get the data into SQL express using a script.
Basically the access db (CentralDb) will be stored a a given location C:Program FilesCentralDB.mdb
The tables within the SQL version are indentical to access but i need a way of pulling out the information stored and putting it into SQL, and as there is no DTS i am becoming stuck on how to automate the process.
Hi, When using an Access Project 2002 connected with SQL Server Express in OLE DB it's impossible to work in creation mode. A message explains that this Access version is not compatible with this SQL version. Is there a service pack ?
I doing Coldfusion web development using MS Access, but the final product needs to use SQL Server. Is there a way for me to upsize from MS Access to SQL Server without having to purchase/install SQL Server?
Hi,i'm working on a project for convert from a mdb AccessXP(2002)application backend to SQL Server Express 2005.In the past i convertend a similar backend to SQL Server 2000.My problem is: I have many fields on mdb backend with spaces in fieldname (i know bad thing)With SQL Server 2000 I had no problem because it recognize the fieldcorrectly with syntax [field name]but now with SQL Server Express 2005 i'm experiencing problems....infact it wants to write the field in this way 'field name'.Now...what do u suggest me?Go back to SQL Server 2000 or change all the field names? this isbecause with the character ' apex i have many problem in SQL syntax.Thank u in advanceByeRob
I was just trying to get some information on how to move an Access 2002 db to MS SQL. Also, what all do I need to be able to access the db from the web. For instance, query the db for info from a website. I don't have that much experience in SQL but I quiet a few programming languages so i'm sure i'll learn it quick, I usually do. Right now I have a server set up with MS SQL server 2005 with all the other things required for testing over in my own little world. DNS, Active Dir., etc....
I'm trying to do this because a friend of a friend has a business(small businessish) who wants to be able to view reports from queries over the internet. And i'm sure I can do it but i told them to let me give it a test run to make sure I can before we commit.
Currently i have a SQL database on our server and an adp file that allows the end user to open the database to play with the data.
On the client side the user navigates to the adp file from above and opens it which allows them to do their work.
I need the same database but for another department, so i copied the SQL and adp file to another folder and renamed it. I then open the adp file from the new folder created using Access 2002 on Win XP Pro SP2, click File navigate to connection and refresh the data source and server name but i cant see the new database i copied over.
I then stop/start the Sql server but same issue. I now think i might need an ODBC connection but when going into ODBC the other database has no connection setup in there therefore i guess i dont need to for the new database. I type the name of the new database in connection (Access 2002) and comes back with an error (Cant find it)
Any idea about this one? all im trying to do is have the same database with a different name and allowing clients to connect to it?
Can I use Visual Studio 2002 for creating deployment for SQL Express 2005 (like MSDE Deployment toolkit) or it is possible only with VS 2005? I need to create installer, that installs SQL Express 2005 and creates DB (executes sql file). How can I do it better?
I am unable to update a table (either by opening it and entering datadirectly or through a form). I have set the recordsettype property toupdateable snapshot and have set the permissions to update inside ofthe SQL Server 2000 to checked. Unfortunately, these items have notworked. Any advice is appreciated. Thanks.Dave Christman
I have developed a web application using ASP 3.0 with a Access DB 2002 backend. I have decided to recently to upgrade the database to SQL 2005 but I am having issues that I cannot work out because I am new to MsSql Language. It appears that the FORMAT function in Access does not work in MsSql ( does not recognise the function ) along with some of the PIVOT and TRANSFORM calls (coming up with "Syntax error near "..."") . Please see the below code. The areas that are showing up as errors when the application is run are highlighted in red.
If IncludeFieldNames Then 'string concatenation issues aren't a problem for a small string of field names For Each Field In RS.Fields If FieldNames = "" Then FieldNames = Field.Name Else FieldNames = FieldNames & "," & Field.Name End If
Next FieldNames = FieldNames & vbCRLF Call objCSVFile.WriteText(FieldNames, 1) End If
Call objCSVFile.WriteText(FieldNames & RS.GetString(adClipString, , ",", vbCRLF, "")) Call objCSVFile.SaveToFile(CSVFilePath, 2) Set objCSVFile = Nothing End Sub %>
<% function evaluate(pFormula, pUserID, pMonth, pYear) if isnull(pFormula) then evaluate = 0 exit function end if x = 0 key = "" zero = "0" nine = "9" eFormula = "" lf = len(pFormula) for i = 1 to lf c = mid(pFormula,i,1) if x = 1 and c >= zero and c <= nine then key = key & c if x = 1 and (c < zero or c > nine or i = lf) then set rsd = cn.execute("select sum(total) from Data where UserID = " & pUserID & " and month(weekEnding) = " & pMonth & " and year(weekEnding) = " & pYear & " and GroupTaskID=" & key) eFormula = eFormula & rsd.fields(0) rsd.close key = "" if c < zero or c > nine then x = 0 end if if c = "v" then key = "" x = 1 end if if x = 0 then eFormula = eFormula & c next on error resume next evaluate = round(eval(eFormula),0) 'if err then evaluate = err.description & ": " & eformula if err then evaluate = 0 end function %>
<% period = split(request.form("period"),",") if ubound(period) = 1 then mmmm = period(0)+0 yyyy = period(1)+0 else mmmm = 0 yyyy = 0 end if %>
</div> <p align="center" class="MainBodyText"> <img src="../../images/si.gif" align="center"><br><b>Month to Date Dashboard</b></p> <p align="center" class="MainBodyText"> To use the Print Page function please select the period required then select view report. You can then select Print Page which will print out the rendered page.</p> <form name="f1" method="POST" action="dialmtd.asp"> <div id="printReady"> <table align="center" border="0" width="663" style="border-collapse: collapse" bordercolor="#111111" cellpadding="2"> <tr>
<td align="left" width="127"><font face="Arial" size="2"> <select name="benchmarkgroup" style="color: #000000; border: 0px solid #000000; background-color: #FFE737"> <option value="0" <%if request.form("benchmarkgroup") = "" then response.write "selected"%>>Select Report <% set rs = cn.execute("select TaskGroupID,TaskGroup from BenchmarkGroups where Active = 1 order by TaskGroupID") do until rs.eof if request.form("taskgroupid")+0 = rs.fields(0) then selected = "selected" else selected = "" %> <option value=<%=rs.fields(0) & " " & selected%>><%=rs.fields(1)%> <% rs.movenext loop rs.close %> </select> </td>
<td align="left" width="143"><font face="Arial" size="2"> <select name="period"> <option value="" <%if request.form("period") = "" then response.write "selected"%>>Select Period <% set rs = cn.execute("select year(WeekEnding), month(WeekEnding), format(Weekending,""mmmm yyyy"") from data group by Year(WeekEnding), Month(WeekEnding), format(WeekEnding,""mmmm yyyy"") order by 1,2") do until rs.eof x = rs.fields(1) & "," & rs.fields(0) if request.form("period") = x then selected = "selected" else selected = "" %> <option value=<%=x & " " & selected%>><%=rs.fields(2)%> <% rs.movenext loop rs.close %> </select> </td>
<td align="left" width="117"><font face="Arial" size="2"> <select name="stateid"> <option value="0" <%if request.form("stateid") = "" then response.write "selected"%>>All States <% set rs = cn.execute("select stateid,state from tblState where benchmarkactive order by state") do until rs.eof if request.form("stateid")+0 = rs.fields(0) then selected = "selected" else selected = "" %> <option value=<%=rs.fields(0) & " " & selected%>><%=rs.fields(1)%> <% rs.movenext loop rs.close %> </select> </td>
<td align="left" width="127"><font face="Arial" size="2"> <select name="countryid"> <option value="0" <%if request.form("countryid") = "" then response.write "selected"%>>All Countries <% set rs = cn.execute("select countryid,country from tblCountry where benchmarkactive order by country") do until rs.eof if request.form("countryid")+0 = rs.fields(0) then selected = "selected" else selected = "" %> <option value=<%=rs.fields(0) & " " & selected%>><%=rs.fields(1)%> <% rs.movenext loop rs.close %> </select> </td> <td align="left" width="129"><input type="image" src="../../Images/view-report.gif" onclick="f1.submit()" name="f1" alt="Click Here to Generate Report"></td> <td width="127"><input type="image" src="../../Images/print-report.gif" rname="printMe" onClick="printSpecial()" alt="Click Here to Print the Page"></td>
</tr> </table>
<% if mmmm > 0 then %> <table border="0" width="450" align="left" style="margin-left:10px; border-collapse: collapse" bordercolor="#111111" cellpadding="2" cellspacing="4"> <thead> <tr> <% sql = " where 1 = 1 AND BenchmarkGroup =" & request("benchmarkgroup") if request.form("stateid")+0 then sql = sql & " and stateid = " & request.form("stateid") if request.form("countryid")+0 then sql = sql & " and countryid = " & request.form("countryid") set rs = cn.Execute("TRANSFORM First(UserID) SELECT description, minimum, mintype, formula FROM BenchmarksActiveUsers" & sql & " GROUP BY displayOrder, description, minimum, mintype, formula ORDER BY displayOrder PIVOT Name") lastfield = rs.fields.count-1 s = 4 %> <td align="left" bgcolor="#C0C0C0"><font face="Arial" color="#000000" size="2"><b>Benchmark</b></font> </td> <td align="center" bgcolor="#C0C0C0"><font face="Arial" color="#000000" size="2"><b>Company Average</b></font> </td> <% for i = s to lastfield %>
<% next %> </tr> </thead> <tbody> <br> <% dim v() do until rs.eof min = int(rs.fields("minimum")) mintype = rs.fields("mintype") sumv = 0 avg = 0 n = 0 for j = s to lastfield redim preserve v(j) v(j) = evaluate(rs.fields("formula"),rs.fields(j),mmmm,yyyy) sumv = sumv + v(j) n = n + 1 next if n > 0 then avg = round(sumv / n) %> <tr><td></td><td align="center" valign="bottom"><font face="Arial" size="2">Target: <%=min%> <%=mintype%></font></td><td></td></tr> <tr> <td bgcolor="#FFFFFF"> <p align="right"><font face="Arial" size="2"><%=rs.fields("description")%></font></td>
I like to give First Name and Last Name in two different text box and then hit the delete button (command button). Then it will do a query to find the person and delete the corresponding record from the table. Any kind of help will be appreciated. Thank you.
I have an Access DB with about 50 tables. When I run the upsize wizard all bur four tables import beautifully, data and all. Four of the tables fail with the message 'Table was skipped, or export failed'
When I try to IMPORT the data I get 100 or so messages like this one:
Warning 0x80047076: Data Flow Task: The output column "AssessPlanPHPID" (23) on output "OLE DB Source Output" (11) and component "Source - tblAssessPlan" (1) is not subsequently used in the Data Flow task. Removing this unused output column can increase Data Flow task performance. (SQL Server Import and Export Wizard)
And the import fails. Note that the upsize creates the tables just fine, it just won't import the data.
By default, the Upsizing Wizard transfers all indexes as nonclustered indexes. You can modify the Upsizing Wizard to transfer the primary key index to a clustered index. To make this change, start Microsoft Access and open the upsizing wizard library database. For Microsoft Access 95, the filename is Wzcs.mda. For Microsoft Access 97, the filename is Wzcs97.mda. When the database is open, click the Modules tab and open the UT_ModUserConstants module. Search down to the UT_CLUSTERED constant. Change the default value from False to True.
<<< end quote Question: I am using ACCESS 2002 upsize wizard, I searched my computer for *.mda and could not find any wzcs*.mda. How do I set it so that it creates clustered-index instead of non-clustered-index?
I have function that returns a table of information about properties. Thedata comes from three different tables -- addresses (called PropertyID),property characteristics, and events concerning those properties (sales,appraisals, etc.), plus a table that maps one representation of propertytypes into another. The records are selected on the basis of location(longitude & latitude), property type, event type, and a range ofevent dates (upper and lower date specified). There are tens of millionsof records of all types, and almost any location, property type, event typeand date range will yield records.The heart of it is a cursor that selects records from joins on this basis:SELECT <a bunch of fields>FROM Property dJOIN PropTypeMap ptm ON ptm.PropertyTypeID = d.PropertyTypeIDJOIN PropertyID a ON a.PropID = d.PropIDJOIN Event e1 ON e1.PropID = d.PropIDLEFT OUTER JOIN Event e2 ON e2.PropID = d.PropIDWHEREd.LastSaleDate >= @LoDateAND a.GeoLongitude BETWEEN @LowerLon AND @UpperLonAND a.GeoLatitude BETWEEN @LowerLat AND @UpperLatAND ptm.PropCategory = @PropTypeAND a.GeoMatch <= @MinGeoQualityAND e1.EventTypeID = @SaleEventTypeAND e1.TransactionType = 'R'AND e1.EventDt BETWEEN @LoDate AND @HiDateAND e1.EventAmt > 0AND e2.EventTypeID = @AssessmentEventTypeAND e2.EventDt <= @HiDateAND e2.EventAmt > 0Each property has one PropertyID record, one Property record, and N Eventrecords (average perhaps five).What is the mystery? If @HiDate, which is the upper end of the time window,is 2002-11-08 or earlier, nothing is returned. If it's 2002-11-09 or later,oodles of records are found. I get the same query plan for either one, andbased on the content of the data, they should return almost exactly the sameset of records -- exactly the same set in almost all cases, in fact.Is 2002-11-08/09 some sort of magic dividing point? I have replicated thison the large database and on a smaller test version on another SQL Server.(SQL Server 2000) I dropped the indexes and tried it, andthe same thing happened. This is driving me crazy!
I have a general theory question for best practices about upsizing an msaccess 2003 split database design to use SQL server instead of the .mdb for data storage.
My data has grown close to msaccess limit, and ive started experiencing lost connections and corruptions frequently. So the next step is to upsize to SQL.
So far DTS seems to do a better job with bringing in the tables and data (then the upsizewizard).
Does any one have a suggestion on how to deal with the front end connecting the sql backend ?
i understand an ADP project file uses OLE connection, is that a better solution then linked tables directly into SQL threw ODBC ?
Reason i ask is the linked tables seem to not break as many things inside the code.
Unable to open the physical file "C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDatacartracker.mdf". Operating system error 32: "32(error not found)". An attempt to attach an auto-named database for file C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDatacartracker.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.
I am using Visual Basic 2005 Express Edition along with SQL Server 2005 Express Edition.
Now here's what I did:
Rather than use the Database Explorer within VB2005 EE to create my database, I thought I would try creating my database externally using the downloadable "SQL Server Management Studio Express" tool. (I figured that if I had a stable data model for my database, I could side-step the copying/overwriting issues that come with creating a database as part of a VB solution.)
So having gotten my database setup and populated with some sample data, I am now trying to connect to it from Visual Basic. In VB (in the context of working on a VB Solution), I do the following:
Select Add New Data Source... from the Data menu to bring up the Data Source Configuration Wizard. Choose "Database" for the data source type and click Next. Click "New Connection..." to bring up the Add Connection dialogue.
For data source I choose "Microsoft SQL Server Database File", with ".NET Framework Data Provider..." as the data provider. Navigate to my existing database file (in "C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLData" folder). Use Windows Authentication.
When I click "Test Connection" or just click "OK", i get the Microsoft Visual Basic 2005 Express Edition error shown at the top of this message.
Is this occuring because I'm trying to access my database as an .MDF file rather than through Named Pipes / Shared Memory / TCP/IP? If this is the case, is there any way that I can tell VB2005 EE to use Named Pipes / Shared Memory / TCP/IP? Is this a fundamental limitation of VB2005 EE?
Thanks in advance to the guru who is able to explain this to me...
I am using a very basic query in Front Page 2002 against a SQL table inSQL 2000SELECT * FROM tablename WHERE (f_docnumber = ::f_docnumber::)and f_docnumber is a search form field.When I run I getDescription: The precision is invalid.Number: -2147467259 (0x80004005)The field is defined in the table as numberic 9(10,0)Any ideas?
hi, I just realized that this must be a difference between sql server 2000 and 2005. For example, the query is like this: declare @n int set @n = -1 select @n = employeeid from employees where companyID=1 and idnumber='1-1' --select @n if(@n is null) ...... If there is no such employee, in 20002, @n will be null, but in 2005, @n is -1, not null. Am I right? So, for this piece, I have to do twice on the same where, like if(exists(select * from employees where companyID=1 and idnumber='1-1')) select @n=employeeid from employees where companyID=1 and idnumber='1-1' else set @n = null Any better way?
I have a copy of MS Visual Studio 2002 Professional ACADEMIC which Iunderstand is the same as the regular Professional version with theaddition of a student CDROM. The installation program on the firstCDROM only copies the MSDE to the harddrive and the copied setup filehas to then be manually executed to complete the installation.Are the SQL tools such the SQL Enterprise Manager and MS Queryincluded in the professional version? If so, how can I install thesetools? The course that I am taking uses these tools to study SQL. Ifnot, how is the MSDE to be used?
How can I install SQL Server 2000 Developer edition from the CD's of Visual Studio.Net 2000 Enterprise Architect ?
When I install VS.Net Enterprise Architect I do not see any install option for SQL Server 2000 Developer, though the MSDE option does appear during the installation. However, I was not interested in MSDE.
I am using VB.NET 2002 and we have set up a test environment running SQL Server 2005.
I am trying to add a reference to Microsoft.SQLServer.ManagedDTS.dll which is required to run a DTS/SSIS package from VB.NET.
However the dll does not show in my add reference listing so when I select BROWSE and select the actual DLL I get a rather long error message telling me that only 'dll' and COM components can be referenced.
The exact message is:
A reference to 'C:Programs FilesMicrosoft SQL Server90SDKAssembliesMicrosoft.SQLServer.ManagedDTS.dll' could not be added. This is not a valid assembly or COM component. Only assemblies with extension 'dll' and COM components can be referenced. Please make sure that the file is accessible, and that it is a valid assembly or COM component.
Hi, i´m using Excel 2002/2003 Add-in for SQL Server Analysis Services and i have the following problem.
I´ve created a report with the addin and i saved it in a share directory. I have users in differents workstations with windows 2000 sp 4, excel 2003 and mdac 2.8 the problem is that sometimes when users open the report and want to do a drill down of a dimension it isn´t any data..
I need to find a program that I can change my MS Access databases into SQL databases. My sites on the server are getting to many visitors and access is crashing the server. So I need to find a fast program that can covert a access database into SQL very quickly. I have not found one out there yet so any direction would help. I tried using the upsizing in access and that does not work on my machine so I would like a stand alone program. Thanks for the help
Hello, I need local database for my winforms application . In database will be stored c. 2000 records in 15 tables . Is better use MS Access file or Sql Expres or something esle ? Is working with Sql Expres faster then MS Acess (with c. 2000 records)?