MySQL数据库和ASP.NET全局连接

时间:2017-07-08 07:11:03

标签: mysql asp.net asp.net-mvc vb.net mysql-error-1064

我开发了一个网站,其中我使用ASP.NET和VB.NET作为后端编程语言和MySQL数据库。我使用ASP.NET和MySQL数据库连接器在我的本地计算机上运行网站,它运行正常。 web.config文件的代码如下:

<?xml version="1.0"?>
<!--
    For more information on how to configure your ASP.NET application, please
    visit
    http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
    <system.web>
        <trust level="Medium"/>
        <customErrors mode="Off" defaultRedirect="Home.aspx"/>
        <compilation debug="true" strict="false" explicit="true"
                     targetFramework="4.0">
            <assemblies>
                <add assembly="MySql.Data, Version=6.9.9.0, Culture=neutral,
                     PublicKeyToken=C5687FC88969C44D"/>
            </assemblies>
        </compilation>
    </system.web>
</configuration>

但是现在我已经在全球服务器上上传了这个网站和数据库,并将全局数据库连接放在我的代码中。现在web.config文件的代码是

<?xml version="1.0"?>
<!--
    For more information on how to configure your ASP.NET application, please
    visit
    http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
    <connectionStrings>
        <add name="myConnectionString" connectionString= "Server=globalservername;
             Database=databasename; Uid=userid; Pwd=passwd;"
             providerName="MySql.Data.MySqlClient" />
    </connectionStrings>
    <system.web>
        <trust level="Medium"/>
        <customErrors mode="Off" defaultRedirect="Home.aspx"/>
        <compilation debug="true" strict="false" explicit="true"
                     targetFramework="4.0">
        </compilation>
    </system.web>
</configuration>

当我打开任何页面时,它显示以下错误

  

编译器错误消息:BC30002:键入&#39; MySqlConnection&#39;没有定义。

在我的项目的每个Visual Basic文件中的这一行(连接字符串):

Dim SQLConnection As New MySqlConnection("Server=globalservername;
Database=databasename; Uid=userid; Pwd=passwd;")

我应该在web.config文件中添加或删除哪些内容才能删除此错误?

2 个答案:

答案 0 :(得分:0)

您可能在生产环境中缺少必需的DLL文件 MySQL.Data 。您可以使用NuGet包* MySQL.Data *然后构建和部署。

或者,您可以将MySQL.Data DLL文件放在bin文件夹中并部署。

答案 1 :(得分:0)

首先执行此操作:

Mysqlopen("db")

它应该工作。如果没有,那么请确保您有VB 2005.它不适用于Visual Basic 6.0。如果这不起作用,那么您可以将SQL作为一个单独的进程运行,并使用Visual Basic来调用它。