标签: oledbconnection

如何在try-catch中使用超时?

我有像这样的oledbconnection try-catch:

try
{
        OleDbConnection Connection;
        using (Connection = new OleDbConnection("Provider=MSDAORA.1;Data Source=DATABASE:1521/orcl//orcl1;Persist Security Info=True;Password=PASS;User ID=USER"))
        {
            Connection.Open();
            v1 = 1;
            Connection.Close();
        }
}
catch (Exception)
{
        v1 = 0;
}
Run Code Online (Sandbox Code Playgroud)

当我无法连接数据库时,请尝试捕获并返回v1 = 0.它正在工作但是当连接等待这么多时(例如30-40秒),尝试连接和页面等待这么多.

我试过Connect Timeoutoledbconnection,但不工作.

我需要尝试几秒钟,如果有任何问题,需要去抓.

我怎样才能做到这一点?

c# asp.net oledbconnection try-catch

2
推荐指数
2
解决办法
8238
查看次数

如何建立连接字符串类?

我开发了一个基于7 winform的应用程序.我的数据库在MS Access上.我想为连接字符串创建一个公共单个类,并在所有winforms中使用它.这样,我可以避免以所有形式复制和粘贴连接字符串.我不知道该怎么做.

c# oledbconnection winforms

1
推荐指数
1
解决办法
6193
查看次数

关闭OleDbConnection

只是一个普遍的问题,如果我在我的程序中打开OleDbConnection,我应该在某个时候关闭它吗?我只是问,因为我看过一些教程,其中演示者没有包含关闭连接的语句.

在我的具体情况下,我打开一个连接来访问Excel文件,填充DataTable并获取一些值.在那之后,我没有理由让连接打开,我想如果我把它打开就可能会引起一些问题.

此外,声明是否conn.Close();足以关闭连接?

c# oledbconnection

1
推荐指数
2
解决办法
1874
查看次数

如何将所有行转换为txt文件?

我已经有了从.xls转换为.txt的代码.但问题是,它只导出一行并停止.我需要为代码添加什么来读取所有行并将其转换为txt文件?

这是我的代码如下:

using (OleDbConnection cn = new OleDbConnection())
        {
            using (OleDbCommand cmd = new OleDbCommand())
            {
                cn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @"C:\Users\jediablaza\Documents\EDIExcel\EDIExcel.xls" + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\";";
                cmd.Connection = cn;
                cmd.CommandText = "SELECT * from [Sheet1$]";
                using (OleDbDataAdapter adp = new OleDbDataAdapter(cmd))
                {
                    DataTable dt = new DataTable();
                    adp.Fill(dt);
                    using (StreamWriter wr = new StreamWriter(@"C:\Users\jediablaza\Documents\EDIExcel\EDIExcel.txt"))
                    {
                        foreach (DataRow row in dt.Rows)
                        {

                                wr.WriteLine(row[0] + "\t" + row[1] + "\t" + row[2] + "\t" + row[3] + "\t" + row[4]);

                        }
                    } …
Run Code Online (Sandbox Code Playgroud)

c# oledb excel oledbconnection

1
推荐指数
1
解决办法
82
查看次数

Python中的光标与连接

在Python中,哪一个比其他的效率更高。我的要求是建立一个连接,直到我们关闭应用程序。

我有两个类,一个是建立和获取连接/光标,使用它我可以获取和获取Service中的数据。在python中跟随MVC :)

一个DBConnection类

import pyodbc

class Connection:
    def getconnection(self):
        conn =  pyodbc.connect('Driver={SQL Server};Server=.\SQLEXPRESS;Database=School;Trusted_Connection=yes;')
        print("Connection Established")
        #cursor = conn.cursor()
        return conn

    def getcursor(self):
        conn = pyodbc.connect('Driver={SQL Server};Server=.\SQLEXPRESS;Database=School;Trusted_Connection=yes;')
        print("Connection Established")
        cursor = conn.cursor()
        return cursor
Run Code Online (Sandbox Code Playgroud)

和一个服务等级

import Connection
import pyodbc

class StudentDataService:

    connection = Connection.Connection().getconnection()
    cursor = Connection.Connection().getcursor()

    def getstudentdata(self):
        print("In method getStudentdata()")
        try:
            row = self.connection.execute('select * from StudentGrade')
            studentList = list(row)
            return studentList
        except pyodbc.DatabaseError as err:
            print("Error Occurred while fetching Student Records", err)
            return None
        finally:
            self.connection.close()

    def …
Run Code Online (Sandbox Code Playgroud)

python oledbconnection cursor python-3.x

1
推荐指数
1
解决办法
3747
查看次数

将数据表导出到现有 Excel

我需要打开一个现有的 Excel文件并用DataTable填充它。我怎样才能做到这一点?

我在 ASP.NET 工作

我已经尝试使用此解决方案(http://stackoverflow.com/questions/1746701/export-datatable-to-excel-file)创建一个 excel,然后我尝试使用这样的 OLEDB 连接打开它,但它没有用..它说表格格式不正确..然后它说我找不到ISAM文件..我不知道该怎么办..

System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:\reports\report.xls;Extended Properties=""Excel 8.0;HDR=No;IMEX=1""");

conn.Open();
System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand();
cmd.Connection = conn;

cmd.CommandText = @"SELECT * INTO [Excel 8.0;Database=C:\reports\reportBase.xls].[SheetBase1] FROM Sheet1]";

cmd.ExecuteNonQuery();
conn.Close();
Run Code Online (Sandbox Code Playgroud)

请帮我!!我很绝望!!

谢谢!!

c# excel oledbconnection

0
推荐指数
1
解决办法
2万
查看次数

我可以缓存OleDbConnection并保持很长时间

在静态构造函数中,我检查是否可以打开与所有数据库的连接,然后保留ConnectionStrings的静态副本,然后在需要时使用它.

现在,如果我创造

private static List <OleDbConnection> _connections;

并将所有打开的连接存储为开放连接?在应用程序打开之前,我可以使用这些连接吗?这样做有什么害处吗?

c# oledb static oledbconnection c#-4.0

0
推荐指数
1
解决办法
733
查看次数

如何使用OleDb创建Excel数据库

我的任务是使用Access数据库并创建一个Excel文件,但我似乎无法创建 OleDb将使用的Excel文件.

Excel文件名将由运行该工具的工程师提供.Access数据库中的每个数据表都将成为Excel文件中的工作表.

现在,我有一个我无法克服的烦恼:如果Excel文件不存在,我无法创建它!

internal const string XL_FMT = "Provider=Microsoft.{0}.OLEDB.{1};Data Source={2};Mode=ReadWrite;Extended Properties=\"Excel {1};HDR={3};IMEX=1;\"";
internal DataTable tableNames;
internal OleDbConnection oleCon;
private string conStr;

public OleBase(string connectionString) {
  conStr = connectionString;
  // Using the debugger, conStr is:
  // "Provider=Microsoft.ACE.OLEDB.12.0;" +
  // "Data Source=C:\\Users\\cp-jpool\\Documents\\Ecat5.xlsx;" +
  // "Mode=ReadWrite;Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=1;\""
  object[] param = new object[] { null, null, null, "TABLE" };
  oleCon = new OleDbConnection(conStr);
  oleCon.Open();
  tableNames = oleCon.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, param);
}
Run Code Online (Sandbox Code Playgroud)

如果Excel文件不存在,每当我调用时,Open()我都会得到以下OleDbException:

" Microsoft Access数据库引擎找不到对象'C:\ Users\cp-jpool\Documents\Ecat5.xlsx'.确保对象存在,并正确拼写其名称和路径名.如果'C:\ Users\cp-jpool\Documents\Ecat5.xlsx'不是本地对象,请检查您的网络连接或联系服务器管理员. "

所以,文件不存在,呵呵?好吧,我尝试通过修改我CTor()来创建它: …

c# oledb excel oledbconnection

0
推荐指数
1
解决办法
1万
查看次数

'Microsoft.ACE.OLEDB.12.0未在本地计算机中注册.

我在Windows 2008服务器上安装了Microsoft Access数据库引擎2010可再发行组件http://www.microsoft.com/en-us/download/details.aspx?id=13255.但是,当我运行我的Web应用程序以将电子表格表导入数据库时​​.它抱怨错误消息 - "Microsoft.ACE.OLEDB.12.0未在本地计算机中注册."

我已经测试了我的代码并在我的Windows 7本地计算机上运行.任何的想法?

database asp.net oledb oledbconnection

0
推荐指数
1
解决办法
5865
查看次数

SQL OleDBCommand选择Excel列

我正在使用OleDBCommand在我的Excel工作表中选择一些数据.我有一列有数据列表(列J),之后的每列(列K-AG)根据关系有1或0.所以它基本上是用1或0绘制的图形.我想使用SQL命令来选择J列中的每个条目,其中在我选择的列中绘制了1.例如,假设我想查看J到K列的关系.然后我想从J中提取所有数据,其中J和K列为1.我不确定如何在SQL中指定列.我目前:

OleDbCommand command = new OleDbCommand("select * from [Master$J0:J20] , connection);
Run Code Online (Sandbox Code Playgroud)

之后我需要一个WHERE子句来指定,其中K0:K20 ='1'对吗?或类似的东西.我无法得到它.

c# sql oledb excel oledbconnection

0
推荐指数
1
解决办法
5585
查看次数