Invalid object name 'umbracoDomains' - asp.net

I uploaded all the files of Umbraco CMS to the my http://blog.domain.com and also modified the web.config file. When I point to blog.domain.com, it is giving an error written in the subject. The hosting type for the subdomain is physical hosting not subdomain on subfolder
So, I have a second web.config file in this subdomain. The first one is in the main domain. I hoep this doesnt make a differnce.
Here's the screenshot: http://i.stack.imgur.com/PxSqq.jpg
I checked the database user with which I am trying to login in to the DB and it has the db_owner permissions for the database.
Also, I tried googling for the similar issues to see if someone with similar error had resolved the problem. Here are some pages but I haven't been able to find a solution.
Please help! This has been pending for long! :-(

When the Umbraco database is created, a new schema is created and all tables are created under this schema (eg. . rather than dbo.).
As the Umbraco website / db are copied, I assume that you changed the credentials, meaning the Umbraco data access layer may be trying to find tables ..
I have found that changing the schema to dbo resolves this problem and can be achieved (as long as only the Umbraco tables for you website are contained in the database) with the following SQL script:
exec sp_MSforeachtable 'ALTER SCHEMA dbo TRANSFER ?'
For more details, I have recently written an article on copying an Umbraco Website found at the following URL:
http://www.carbonsoft.co.uk/articles/2012/06/copying-an-umbraco-instance.aspx
Although this question was asked some time ago, I hope this helps others with similar problems,

You also get this error if you have no database in your connection string.

Umbraco's datalayer is (unfortunately) case-sensitive - which means that Umbraco can't find the table umbracoDomains. Check that the table is correctly named and/or cased - if your database is case-insensitive then make sure that all your tables are lowercased, as this should work.

carbonrb is right, when umbraco installation creates db it uses default credentials for db user. You can change schema to dbo like carbonrb advice or create user who has default schema the same as installed by umbraco. User cannot be in sysadmin role because it will override default schema back to dbo.

Related

Moving ASP.net site to another server

Assume I have asp.net websites on Server1 and need to move them to Server2, what is the best practice for this and how do I ensure that all relevant files, databases, etc are moved as well? Am I going to have to manually amend all the web.configs and other config files, plus find out what dependencies each site has, or is there a way to just export everything and import to the new server?
I have not found anything else on SO that has instructions for this.
Thanks
Edit: This is similar but not the same as the other question. The other question doesn't actually provide an answer, just some ideas about staging environments.
I'd like this to be as automated as possible due to having about 30 applications to move. The new server is pretty much identical but I noticed that when I moved one application using 'Web Deploy' as a test, it didn't bring over the dependencies and I had to manually find out which ones were missing and install them.
how do I ensure that all relevant files, databases, etc are moved as
well?
Typical asp.net sites have all data, and database under the one main directory. So you just copy/paste the full directory from the old to the new one server.
But we have some points to note here.
DataBase files are locked by the database, so you need to first remove them from the database.
In the new site you need to remount the database files and change the web.config according to the new server (eg, maybe new ip address, new names on database.
and finally the permissions on the new host must be correct and the same, if you have for example some directory that you need write permissions, you must add it also to the new server
You can also read: How to set correct file permissions for ASP.NET on IIS

read wordpress user data into a local ms access database

I'm a MS Access developer who has a client with a wordpress website. I need a way of reading any new users who are added into the wordpress site into a microsoft access database that resides on the users local machine.
I only need to add any new records and don't need to write anything back to the site.
What would be the easiest way of doing something like this? I would sooner do it from the Access side as I'm not very familiar with wordpress, also I would prefer it to be automated so the user doesn't have to manually export from wordpress then import the data every time.
Any advice appreciated.
Thanks
Justin
There's no way to have WordPress connect to an Access DB because Access isn't persistent, it's on demand. The only way I can imagine handling it would depend on Access more than anything. Assuming Access can using the ODBC connectors installed on the windows system it's running on, you could do the following:
Setup the MySQL ODBC Connector on any systems which would run the Access DB you're setting up. I assume the WordPress install is using MySQL.
Setup a new ODBC connection using that connector within Access to the Wordpress
database (you can use the same connection information stored in the
WordPress root directory in a file called wp_config.php).
If you're connecting successfully, you can then read the wp_users table using properly formatted SQL commands (select * from wp_users, for instance).
The function within Access that manages this can either be scheduled to do it periodically while Access is open or just when Access is initialized. Depending on your needs.
You'll have to compare it to a local table of users to find differences if you're interested in all changes, though the user_login is static through normal channels so it's a good key. There's also a "user_registered" date/time column in wp_users so you could just look for users who registered since your last update/change to the local access table.
I'm not familiar with Access beyond a cursory understanding of it as a data source and some minor development functions, so there may be a much easier way to do it, but this is how I'd do it in any system that needed the user information from Wordpress.
Because Wordpress and Ms-Access live in very different environments, a trick is needed to "marry" the two. Another way we can use:
Use IIS as a webserver, so as not to collide with the port used by wordpress, so don't use port 80. Just use any port.
Use ASP to access Access Database (of course there is a block of ASP code to activate the connector to the Access file, then create a recordset via that connector for record2 and display it to the browser). Call it with the file name: recordshower.asp
The recordshower.asp file must be able to be called by the browser.
After that, go back to a page in wordpress, insert <iframe src=recordshower.asp width:.... ></iframe>
So, a wordpress page can display the contents of an Access table, with the help of ASP
I export the WordPress entries to a .CSV, I then run an Excel macro, which is stored in my personal workbook, to open the file from my downloads directory, convert the .CSV to .XLS, and write it to an XLS file in a known location. I then push a button in my MS Access program to read the entries from the .XLS file (which is externally linked to my MS Access as a Excel spreadsheet) and update my MS Access tables with the data.

Where exactly does Membership.CreateUser Method add the new user to?

So I created my first ASP.NET MVC 3 internet application which comes with the built in functionality of registering/logging in.
I tried to explore where exactly is the database the application interacts with.In the corresponding controller/action method I see a call to Membership.CreateUser with these parameters.To which MSDN link says it adds these values to the data store.My question is to which table of what database it adds these values?(so that I can see the updates)
Using default setting, your data is saved in in its default database ASPNETDB.MDF. Click Show all files in the Solution explorer then click App_Data. You should see ASPNETDB.MDF. Double click it then a database will appear to you in the Server Expolorer. On the ASPNETDB.MDF click Tables and find aspnet_Users.
Hope this helps. :)
Assuming all the above is true (haven't change the default setup, connection string etc.) then look for tables called aspnet_users, aspnet_membership and a few others prefixed with aspnet_ . that's where to look.
If you didn't change anything, go to web.config and find DefaultConnectionString. Thats where the data inserted and the table name is UserProfiles.
it creates a db file in App_Data folder.
If you use default settings then the Database Name where the Table will be installed is: aspnetdb. Also the table names are self explanatory as seen in below image. e.g. for MemberShip the table used is: dbo.aspnet_Membership.
The tool used to install these tables is aspnet_regsql.exe, and you can easily call it from
within a Visual Studio Command Prompt window

Creating a MAMP Local Copy of a Drupal 6 Website

We're currently rebranding a client of ours and it's come the time to take the new brand to their website.
I've not much experience with Drupal other than the theming (I've themed a Drupal website in the past but not very familiar with the software's inner workings).
As this website is live, it's obviously not feasible for me to make any changes to the live environment, so I have downloaded the source files of the website to a local webserver (MAMP).
I also have a MySQL dump of the database.
I'm not sure what files need to be changed inside Drupal to allow access to the MAMP webserver. Could somebody point me in the right direction here?
How would I connect the database to the website, which files need modification?
I think the client is running Drupal 6.
Update:
I've installed the database and linked it up using the below line:
$db_url = 'mysql://root#localhost/databasename';
I've hidden databasename for anonymity.
As it's MAMP, the database has no password. When I load up the website I get an error that install.php is not found. It's not there because the website is already 'installed'.
I've also updated the $base_url to read:
$base_url = 'http://localhost:8888/foldername';
You only need to modify one file, 'sites/default/settings.php'; you'll just need to change the database connection string in there to match your new database settings. There may be a couple of other settings in there you need to tweak depending on the set up of the site (for example the $base_url or $cookie_domain).
Other than that everything in your installation should be relatively path-ed so there shouldn't be any need to make more changes.
i was facing same problem after couple of hours try i got solution : we have to check the DB (tick on list of databases in local host) [ observe this after DB list : Enabling the database statistics here might cause heavy traffic between the web server and the MySQL server. so enable only the db you want to use] this will redirect to http://localhost:8888/foldername/install.php successfully :D :D

Creating a duplicate WordPress install for testing

I am trying to create an identical wordpress website - on the same server. I need to create this as a testing environment but every time I try to duplicate the site it breaks. Is there an easy way to create a testing environment, of the live site, on the same server while keeping all of the same widgets, plugins and content?
I am an experienced web developer but a novice when it comes to Word Press.
I appreciate the help.
In my experience the following usually works:
Setup your prod site
Copy all files to the test site
Modify the wp-config settings as needed, and create the test db schema
Export all the data from the prod site control panel and import into the test site
The problem is that while you have all the files identically, your database contains all the configuration information for the live site. You'll need to copy the database from live to your development/testing server. You can run an export on the SQL and import the data into a new database. Then modify the wordpress/wp-config.php file in your development site to connect to the new copied database.
Additionally, you'll want to go through the new copied database, table: wp_options and change the site URL to match the development site/server instead of the live server.
Some default fields you'll want to change are:
option_name: home
option_name: siteurl
As well as fields installed by plugins that contain your site URL and path.
Create a directory for the testing.
Backup the original database, and
create another one (you may use the
same db user/pass if you like).
Execute the SQL file from the backup (at the test database)
Edit the wp-config.php.
(Test Database) Update the URL at the (your prefix)_options table. It's the very first value with the option name: siteurl
Done.

Resources